Erkennen Sie die Unterschiede zwischen den Methoden „Filter“, „Find“, „Some“ und „Reduce“ in Array und wenden Sie sie je nach Verwendungsszenario besser beim täglichen Codieren an. Array.finden Array.find gibt ein Objekt zurück (das erste Objekt, das die Bedingung erfüllt) und stoppt die Durchquerung const arrTest = [ { ID: 1, Name: "a" }, { ID: 2, Name: "b" }, { ID: 3, Name: "b" }, { ID: 4, Name: "c" } ] // Filterbedingungsfunktion getName(val) { return arrTest => arrTest.name === Wert } // Wenn wir die ersten Daten finden möchten, die die Bedingungen erfüllen, sollten wir „Array.find“ verwenden. console.log(arrTest.find(getName("b"))) // { ID: 2, Name: "b" } Array.einige Array.some gibt einen Booleschen Wert zurück, der angibt, ob die Bedingung erfüllt ist. const arrTest = [ { id: 1, name: "a", status: "wird geladen" }, { ID: 2, Name: "b", Status: "wird geladen" }, { ID: 3, Name: "b", Status: "Erfolg" } ] // Filterbedingungsfunktion getStatus(val) { return arrTest => arrTest.status === Wert } // Wenn wir herausfinden müssen, ob bestimmte Daten in einem Array vorhanden sind, verwenden Sie Array.some, um das Ergebnis direkt zu erhalten console.log(arrTest.some(getStatus("success"))) // WAHR Array.filter Array.filter durchläuft das gesamte Array und gibt ein Array zurück (das alle Objekte enthält, die die Bedingungen erfüllen). const arrTest = [ { id: 1, name: "a", status: "wird geladen" }, { ID: 2, Name: "b", Status: "wird geladen" }, { ID: 3, Name: "b", Status: "Erfolg" } ] // Filterbedingungsfunktion getStatus(val) { return arrTest => arrTest.status === Wert } // Wenn wir alle Daten herausfiltern müssen, die die Bedingungen in einem Array erfüllen, sollten wir Array.filter verwenden Konsole.log(arrTest.filter(getStatus("wird geladen"))) // [ // { id: 1, name: "a", status: "wird geladen" }, // { id: 2, name: "b", status: "wird geladen" } // ] Array.reduzieren Array.reduce ist eine Methode zum Zusammenführen von Arrays, die in vielen Szenarien verwendet werden kann, z. B. zum Summieren, Multiplizieren, Zählen, Deduplizieren, Konvertieren mehrdimensionaler Daten in eindimensionale Daten, Summieren von Attributen usw. const arrTest = [ { id: 1, status: "wird geladen" }, { id: 2, status: "wird geladen" }, { id: 3, status: "erfolgreich" } ] konsole.log( arrTest.reduce((acc, Zeichen) => { return character.status === "wird geladen" ? acc.concat( Objekt.assign({}, Zeichen, { Farbe: "info" }) ) : gem. }, []) ) // [ // { id: 1, status: "wird geladen", farbe: "info" }, // { id: 2, status: "wird geladen", farbe: "info" } // ] Im Gegensatz zum von Array.filter zurückgegebenen Array gibt filter eine Reihe von Objekten zurück, die die Bedingungen im ursprünglichen Array erfüllen. Das obige Ergebnis kann auch durch die Kombination von filter mit Array.map erreicht werden. Warum ist es besser, reduce zu verwenden? // Array.map und Array.filter kombiniert console.log( arrTest .filter(Zeichen => Zeichen.status === "wird geladen") .map(Zeichen => Objekt.assign({}, Zeichen, { Farbe: "info" }) ) ) // [ // { id: 1, status: "wird geladen", farbe: "info" }, // { id: 2, status: "wird geladen", farbe: "info" } // ] Fazit: Bei gleichzeitiger Verwendung von Array.filter und Array.map wird das gesamte Array zweimal durchlaufen. Beim ersten Mal geht es darum, ein neues Array zu filtern und zurückzugeben, und beim zweiten Mal geht es darum, über die Map ein neues Array zu erstellen. Es werden zwei Array-Methoden verwendet, jede mit ihrer eigenen Rückruffunktion, und das vom Filter zurückgegebene Array wird nie wieder verwendet. Dies ist das Ende dieses Artikels mit der detaillierten Erklärung der Unterschiede zwischen JS-Array-Find, Some, Filter und Reduce. Weitere verwandte Inhalte zu JS-Array-Find, Some, Filter und Reduce finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die folgenden verwandten Artikel weiter. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Lösen Sie schnell das Problem, dass CentOS in VMware nicht auf das Internet zugreifen kann
>>: Warum verwendet der MySQL-Datenbankindex den B+-Baum?
Systemumgebung: centos7.4 1. Prüfen Sie, ob die D...
Inhaltsverzeichnis 1. So wechseln Sie 2. Register...
In diesem Artikel wird hauptsächlich die Integrat...
Sie können den Befehl ps verwenden. Es kann relev...
Entsprechend den wichtigsten Websites und persönl...
Inhaltsverzeichnis Ereignisse in js Ereignistyp H...
F1: Welche Indizes hat die Datenbank? Was sind di...
Vor einiger Zeit gab es auf TikTok eine Schüttela...
Navigationsleiste erstellen: Technische Vorausset...
Dieser Artikel veranschaulicht anhand eines Beisp...
Welches dieser Formate (GIF, PNG oder JPG) sollte...
Laden Sie das Tutorial zum Paket mysql-connector-...
Inhaltsverzeichnis Vorwort Vorteil: Mangel: 1. Re...
Ein Docker-Container startet beim Start beispiels...
So erstellen Sie einen Dienst und starten ihn aut...