So finden Sie Index des Objekts im JavaScript -Array

So finden Sie Index des Objekts im JavaScript -Array
Manchmal müssen Sie beim Arbeiten mit Objekten, die Arrays enthalten, den Index eines Objekts kennen. Sie können verschiedene JavaScript -Methoden anwenden, um Objekte aus ihren Eigenschaften einzigartig zu identifizieren und dann auf ihre Indizes zugreifen zu können. Dieser Leitfaden liefert eine umfassende und umfassende Erklärung, wie unterschiedliche Methoden verwendet werden können, um dieses Ziel zu erreichen.

Finden Sie den Index von Objekt mit MAP- und INDEXOF () -Methode

Die Kartenmethode wird verwendet, um eine Funktion auf jedes Element des Arrays anzuwenden, es zu transformieren und dann in ein Array zurückzugeben. Wir können diese Methode verwenden, um bestimmte Eigenschaften von Objekten zu erhalten, die wir dann verwenden können, um Objekte zu identifizieren. Wenn wir das Objekt identifizieren, das wir wissen möchten, können wir einfach die Indexof () -Methode aufrufen:

let Employees = [FirstName: "John", Lastname: "Doe", Alter: 38, FirstName: "John", Lastname: "Smith", Alter: 45];
Lassen Sie ind = Mitarbeiter.Karte (Element => Element.Alter).Indexof (45);
Konsole.log (ind);

Im obigen Code haben wir zuerst ein Array definiert, das zwei Objekte enthält. Die Objekte enthalten Daten verschiedener Mitarbeiter. Wir haben dann die Kartenfunktion verwendet, um das Alter der Mitarbeiter in einem separaten Array zu erhalten. Zuletzt haben wir die Indexof () -Methode verwendet, um den Index des Objekts zu erhalten, dessen Alterseigenschaft 45 beträgt, und sie in die Konsole gedruckt haben. Wir hätten die Kartenfunktion verwenden können, um den Wert jeder Eigenschaft zu erhalten und den Index des Objekts basierend auf dieser Eigenschaft zu erhalten.

JavaScript ES6 führte eine neue Methode namens findIndex () ein. Diese Methode ist viel eleganter, aber leider funktioniert sie bei alten Browsern nicht.

Index des Objekts mit findIndex () -Methode finden

Die FindIndex () -Methode enthält eine Funktion, die einen Test als Argument enthält, und wendet sie auf jedes Element des Arrays an, ohne Änderungen am ursprünglichen Array vorzunehmen. Anschließend gibt es die Position des Array -Elements oder -1 zurück, wenn kein Element den Test passiert. Mit der Verwendung der FindIndex () -Methode müssen wir die Funktion map () nicht benötigen:

let Employees = [FirstName: "John", Lastname: "Doe", Alter: 38, FirstName: "John", Lastname: "Smith", Alter: 45];
Lassen Sie ind = Mitarbeiter.FindIndex (item => Rückgabeelement.Alter == 45);
Konsole.log (ind);

Die FindIndex () -Methode kann auch den Index des aktuellen Elements und das Array des aktuellen Elements als optionale Argumente annehmen.

Wir haben in beiden obigen Beispielen Pfeilfunktionen verwendet, um den Code lesbarer zu gestalten, aber die Standardfunktionssyntax kann auch als Argument für diese Funktionen verwendet werden:

let Employees = [FirstName: "John", Lastname: "Doe", Alter: 38, FirstName: "John", Lastname: "Smith", Alter: 45];
Lassen Sie ind = Mitarbeiter.FindIndex (Funktion (Element) Element zurückgeben.Alter == 45);
Konsole.log (ind);

Abschluss

Dieses umfassende Tutorial gibt zwei verschiedene Methoden, um die Indizes von Objekten in JavaScript zu finden, basierend auf den Werten ihrer Eigenschaften. Die FindIndex () -Methode wendet die bedingte Funktion auf jedes Element des Arrays selbst an und gibt dann den Index des Elements zurück, der die Bedingung übergibt. Wenn wir jedoch die Indexof () -Methode verwenden, müssen wir auch die MAP () -Methode verwenden, um die Eigenschaftswerte zu erhalten.