Come trovare l'indice dell'oggetto nell'array JavaScript

Come trovare l'indice dell'oggetto nell'array JavaScript
A volte quando si lavora con oggetti contenenti array, dovrai conoscere l'indice di un oggetto. È possibile utilizzare diversi metodi JavaScript per identificare in modo univoco gli oggetti dalle loro proprietà e quindi accedere ai loro indici. Questa guida fornirà una spiegazione estesa e completa di come diversi metodi possono essere utilizzati per raggiungere questo obiettivo.

Trova l'indice dell'oggetto con il metodo Map e IndexOf ()

Il metodo della mappa viene utilizzato per applicare una funzione su ciascun elemento dell'array, trasformarlo e quindi restituirlo all'interno di un array. Possiamo usare questo metodo per ottenere proprietà specifiche degli oggetti che possiamo quindi utilizzare per identificare gli oggetti. Quando identifichiamo l'oggetto che vogliamo conoscere l'indice di We Possiamo semplicemente chiamare il metodo IndexOf ():

Let Employees = [FirstName: "John", LastName: "Doe", Age: 38, FirstName: "John", LastName: "Smith", Age: 45];
Lascia che ind = dipendenti.Mappa (item => Item.età).INDICEF (45);
console.log (ind);

Nel codice sopra, abbiamo prima definito un array che contiene due oggetti. Gli oggetti contengono dati di diversi dipendenti. Abbiamo quindi usato la funzione della mappa per ottenere l'età dei dipendenti in un array separato. Infine, abbiamo usato il metodo IndexOf () per ottenere l'indice dell'oggetto la cui proprietà di età è 45 e stampato sulla console. Avremmo potuto utilizzare la funzione MAP per ottenere il valore di qualsiasi proprietà e ottenere l'indice dell'oggetto in base a tale proprietà.

JavaScript ES6 ha introdotto un nuovo metodo chiamato FindIndex (). Questo metodo è molto più elegante, ma purtroppo non funziona sui vecchi browser.

Trova l'indice dell'oggetto con il metodo findindex ()

Il metodo findindex () prende una funzione contenente un test come argomento e lo applica a ciascun elemento dell'array senza apportare modifiche all'array originale. Restituisce quindi la posizione dell'elemento array o -1 se nessun elemento passa il test. Con l'uso del metodo findindex () non abbiamo alcuna necessità della funzione mappa ():

Let Employees = [FirstName: "John", LastName: "Doe", Age: 38, FirstName: "John", LastName: "Smith", Age: 45];
Lascia che ind = dipendenti.findindex (item => return ite.età == 45);
console.log (ind);

Il metodo findindex () può anche prendere l'indice dell'elemento corrente e l'array dell'elemento corrente come argomenti opzionali.

Abbiamo usato le funzioni della freccia in entrambi gli esempi di cui sopra per rendere il codice più leggibile, ma la sintassi della funzione predefinita può essere utilizzata anche come argomento per queste funzioni:

Let Employees = [FirstName: "John", LastName: "Doe", Age: 38, FirstName: "John", LastName: "Smith", Age: 45];
Lascia che ind = dipendenti.findindex (function (item) return item.età == 45);
console.log (ind);

Conclusione

Questo tutorial completo fornisce due diversi metodi per trovare gli indici di oggetti in JavaScript in base ai valori delle loro proprietà. Il metodo findindex () applica la funzione condizionale a ciascun elemento dell'array stesso e quindi restituisce l'indice dell'elemento che passa la condizione. Ma quando stiamo usando il metodo IndexOF (), dobbiamo anche utilizzare il metodo Map () per ottenere i valori delle proprietà.