Heim >Web-Frontend >js-Tutorial >Wie stellt js fest, dass ein Array bestimmte Elemente enthält? (Zusammenfassung der Methode)
Der Inhalt dieses Artikels befasst sich damit, wie js feststellt, dass ein Array bestimmte Elemente enthält. (Zusammenfassung der Methode) hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen.
Es ist eine sehr häufige Anforderung, festzustellen, ob ein Array ein bestimmtes Element enthält. Ich habe heute etwas Zeit, sie nach Kompatibilität zu sortieren Rückgabetyp ist immer boolesch:
Angenommen, das Array ist arr und das Zielelement ist target
(arr, target) => { for (var i = 0; i < arr.length; i++) { if (arr[i] === target) { return true; } } return false; }
Kompatibilität: es1
Gleicher Algorithmus : ===
(arr, target) => { return arr.indexOf(target) >= 0; }
Kompatibilität: es5
Gleichheitsalgorithmus: ===
(arr, target) => { return arr.filter(el => el === target).length > 0; }
Kompatibilität : es5
Gleicher Algorithmus: ===
(arr, target) => { return arr.some(el => el === target); }
Kompatibilität: es5
Gleicher Algorithmus: ===
(arr, target) => { return arr.find(el => el === target) !== undefined; }
Kompatibilität: es2015
Gleicher Algorithmus: ===
(arr, target) => { return arr.findIndex(el => el === target) >= 0; }
Kompatibilität: es2015
Gleicher Algorithmus : == =
(arr, target) => { return arr.includes(target); }
Kompatibilität: es2016
Gleichheitsalgorithmus: SameValueZero
==Tipps:==
== Der Unterschied zwischen = und SameValueZero besteht darin, dass NaN === Nan => false
und SameValueZero zwei NaNs als gleich betrachten. Weitere Informationen finden Sie bei MDN. Wenn Sie die Implementierung von === oben in die Implementierung von SameValueZero ändern möchten, können Sie schreiben:
el === target || (Object.is(el, NaN) && Object.is(target, NaN))
Da es6 und Babel heutzutage so beliebt sind, verwenden wir meistens nur Includes direkt.
Das obige ist der detaillierte Inhalt vonWie stellt js fest, dass ein Array bestimmte Elemente enthält? (Zusammenfassung der Methode). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!