Hvordan finne indeks for objekt i JavaScript -array

Hvordan finne indeks for objekt i JavaScript -array
Noen ganger når du jobber med objekter som inneholder matriser, må du kjenne indeksen til et objekt. Du kan bruke forskjellige JavaScript -metoder for å identifisere objekter fra deres egenskaper og deretter få tilgang til indeksene deres. Denne guiden vil gi en omfattende og omfattende forklaring på hvordan forskjellige metoder kan brukes for å oppnå dette målet.

Finn indeks for objekt med MAP og IndexOf () -metode

Kartmetoden brukes til å bruke en funksjon på hvert element i matrisen, transformere den og deretter returnere den i en matrise. Vi kan bruke denne metoden for å få spesifikke egenskaper til objekter som vi deretter kan bruke for å identifisere objekter. Når vi identifiserer objektet som vi vil vite indeksen for, kan vi bare kalle metoden IndexOf ():

La ansatte = [FirstName: "John", LastName: "Doe", Age: 38, FirstName: "John", LastName: "Smith", alder: 45];
La IND = ansatte.Kart (vare => Vare.alder).indeks av (45);
konsoll.Log (Ind);

I koden ovenfor definerte vi først en matrise som inneholder to objekter. Objektene inneholder data fra forskjellige ansatte. Vi brukte da kartfunksjonen for bare å få ansatte i en egen rekke. Til slutt brukte vi IndexOf () -metoden for å få indeksen for objektet hvis aldersegenskap er 45 og trykket den til konsollen. Vi kunne ha brukt kartfunksjonen for å få verdien av enhver eiendom og få indeksen til objektet basert på den egenskapen.

JavaScript ES6 introduserte en ny metode kalt FindIndex (). Denne metoden er mye mer elegant, men dessverre fungerer den ikke på gamle nettlesere.

Finn indeks for objekt med FindIndex () -metode

FindIndex () -metoden tar en funksjon som inneholder en test som et argument og bruker den på hvert element i matrisen uten å gjøre noen endringer i den opprinnelige matrisen. Den returnerer deretter plasseringen av matriselementet eller -1 hvis ingen element består testen. Med bruk av FindIndex () -metoden har vi ikke noe behov for kart () -funksjonen:

La ansatte = [FirstName: "John", LastName: "Doe", Age: 38, FirstName: "John", LastName: "Smith", alder: 45];
La IND = ansatte.findIndex (element => returpunkt.alder == 45);
konsoll.Log (Ind);

FindIndex () -metoden kan også ta indeksen for det nåværende elementet og utvalget av nåværende element som valgfrie argumenter.

Vi har brukt pilfunksjoner i begge eksemplene ovenfor for å gjøre koden mer lesbar, men standardfunksjonssyntaks kan også brukes som argument for disse funksjonene:

La ansatte = [FirstName: "John", LastName: "Doe", Age: 38, FirstName: "John", LastName: "Smith", alder: 45];
La IND = ansatte.findIndex (funksjon (element) returpunkt.alder == 45);
konsoll.Log (Ind);

Konklusjon

Denne omfattende opplæringen gir to forskjellige metoder for å finne indeksene for objekter i JavaScript basert på verdiene til deres egenskaper. FindIndex () -metoden bruker den betingede funksjonen for hvert element i selve matrisen og returnerer deretter indeksen til elementet som passerer tilstanden. Men når vi bruker IndexOf () -metoden, må vi også bruke MAP () -metoden for å få eiendomsverdiene.