Wyciąganie elementu z tablicy do nowej jako pierwszy element - Js

0

Siema, mam tablice obiektów
const users = [
{
name: 'Jan',
id: 422,
},
{
name: 'Jan2',
id: 322,
},
{
name: 'Jan3',
id: 233,
}
]

Chciałbym aby Jan2 był w nowej tablicy jako pierwszy item

0

W sensie const users2 = [users[1], users[0], users[2]] ?

0

Tak, ale potrzebowałbym czegoś bardziej flexible bo końcowo poleci to na tablice z 500 rekordami

A wiesz na której pozycji masz Jan2? Zawsze jest na drugiej i wystarczy zamienić dwie pierwsze pozycje czy trzeba go znaleźć ?

3

Jan2 może zmieniać swoją pozycje, znam tylko klucz name: 'Jan2' i wg tego muszę go mieć na 1 miejscu

Polecam zacząć od Array.prototype.findIndex().
Może users.findIndex( e => e.name == "Jan2")

1

Coś takiego np.:

const finalUsers = users.slice(); // kopia tablicy
const index = finalUsers.findIndex(e => e.name == "Jan2"); 
if (index > -1) { // jeśli znalazł
    finalUsers.unshift(finalUsers.splice(index, 1)[0]); // metody splice i unshift, polecam obczaić na MDN
}

wtedy kopiuje ci tablice, szuka indeksu (używając findIndex, jak @KamilAdam zasugerował) i najpierw wycina dany element z tablicy (splice), a potem wrzuca go na początek (unshift).

0 użytkowników online, w tym zalogowanych: 0, gości: 0