Heim  >  Artikel  >  Web-Frontend  >  Wie stellt js fest, dass ein Array bestimmte Elemente enthält? (Zusammenfassung der Methode)

Wie stellt js fest, dass ein Array bestimmte Elemente enthält? (Zusammenfassung der Methode)

不言
不言Original
2018-09-18 15:07:182396Durchsuche

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

Schleifendurchlauf:

(arr, target) => {
  for (var i = 0; i < arr.length; i++) {
    if (arr[i] === target) {
      return true;
    }
  }
  return false;
}

Kompatibilität: es1

Gleicher Algorithmus : ===

indexOf:

(arr, target) => {
  return arr.indexOf(target) >= 0;
}

Kompatibilität: es5

Gleichheitsalgorithmus: ===

Filter:

(arr, target) => {
  return arr.filter(el => el === target).length > 0;
}

Kompatibilität : es5

Gleicher Algorithmus: ===

einige:

(arr, target) => {
  return arr.some(el => el === target);
}

Kompatibilität: es5

Gleicher Algorithmus: ===

find:

(arr, target) => {
  return arr.find(el => el === target) !== undefined;
}

Kompatibilität: es2015

Gleicher Algorithmus: ===

findIndex:

(arr, target) => {
  return arr.findIndex(el => el === target) >= 0;
}

Kompatibilität: es2015

Gleicher Algorithmus : == =

enthält:

(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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn