Heim >Web-Frontend >js-Tutorial >Wie kann ich Daten aus einem Array von JavaScript-Objekten effizient finden und extrahieren?
Suchen eines passenden Werts in einem Array von JavaScript-Objekten
JavaScript-Programmierer stehen häufig vor der Notwendigkeit, ein Array von Objekten nach einem bestimmten Wert zu durchsuchen . In diesem Artikel werden verschiedene Methoden zum Ausführen dieser Aufgabe erläutert, wobei der Schwerpunkt auf den Methoden find(), findIndex(), filter() und map() liegt.
Beispielarray
Betrachten Sie das folgende Array von JavaScript-Objekten:
myArray = [{'id':'73','foo':'bar'},{'id':'45','foo':'bar'},{'id':'67','foo':'baz'}];
Ein bestimmtes Objekt finden
Zu Rufen Sie das Objekt mit der ID 45 ab und verwenden Sie die Methode find():
const matchingObject = myArray.find(x => x.id === '45');
Eigenschaftswert abrufen
Wenn Sie den Eigenschaftswert foo abrufen möchten Verwenden Sie für das übereinstimmende Objekt die Punktnotation:
const fooValue = matchingObject.foo;
Finden des Index eines Objekt
Um den Index des übereinstimmenden Objekts zu ermitteln, verwenden Sie die Methode findIndex():
const matchingIndex = myArray.findIndex(x => x.id === '45');
Übereinstimmende Objekte filtern
Um ein Array zu erstellen, das nur die übereinstimmenden Objekte enthält, verwenden Sie die Methode filter():
const matchingObjects = myArray.filter(x => x.id === '45');
Mapping Matching Werte
Um ein Array der passenden foo-Eigenschaftswerte zu extrahieren, verketten Sie die Methoden filter() und map():
const fooValues = myArray.filter(x => x.id === '45').map(x => x.foo);
Hinweis zur Browserkompatibilität
Pfeilfunktionen und einige Array-Methoden, wie find(), werden von älteren Browsern nicht unterstützt. Erwägen Sie aus Kompatibilitätsgründen die Verwendung von Babel mit der entsprechenden Polyfüllung.
Das obige ist der detaillierte Inhalt vonWie kann ich Daten aus einem Array von JavaScript-Objekten effizient finden und extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!