In es6 können Sie die Methode include() des Arrays verwenden, um festzustellen, ob das Array einen bestimmten Wert enthält. Mit dieser Methode können Sie erkennen, ob das Array einen bestimmten Wert enthält. Die Syntax lautet „array object.includes(value). ".
Die Betriebsumgebung dieses Tutorials: Windows 7-System, ECMAScript Version 6, Dell G3-Computer.
In ES5 bietet Array bereits indexOf, um die Position eines Elements zu ermitteln. Wenn es nicht vorhanden ist, weist diese Funktion zwei kleinere Mängel auf, wenn es darum geht, festzustellen, ob das Array ein Element enthält. 1 und die Position des Elements werden verwendet, um anzuzeigen, ob es enthalten ist. Es gibt kein Problem hinsichtlich der Positionierung, aber es ist nicht semantisch genug. Ein weiteres Problem besteht darin, dass nicht festgestellt werden kann, ob NaN-Elemente vorhanden sind.
Zum Beispiel:
const arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', ' k', NaN] console.log('%s', arr1.indexOf(NaN))
Ergebnis:
-1
ES6 stellt die Funktion Array.includes() bereit, um zu bestimmen, ob ein bestimmtes Element enthalten ist. Es löst nicht nur das Problem oben zwei Probleme von indexOf . Es gibt direkt true oder false zurück, um anzuzeigen, ob es ein Element enthält, und ist auch für NaN wirksam.
const arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', NaN] console.log('%s', arr1.includes('c')) console.log('%s', arr1.includes('z')) console.log('%s', arr1.includes(NaN))
Ergebnis:
wahr FALSCH
Der zweite Parameter der
Funktiontrueinclude() gibt die Startposition des Urteils an.
const arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', NaN] console.log('%s', arr1.includes('d', 1)) console.log('%s', arr1.includes('d', 3)) console.log('%s', arr1.includes('d', 4))
Ergebnis:
wahr WAHR falseDer
zweite Parameter kann auch eine negative Zahl sein, die die Zahl von rechts angibt, aber die Suchrichtung nicht ändert, die Suchrichtung ist immer noch von links nach rechts.
console.log('%s', arr1.includes('k', -1)) console.log('%s', arr1.includes('k', -2)) console.log('%s', arr1.includes('i', -3))
Ergebnis:
falsch WAHR Falsche
Zusammenfassung:
Die Methode include() wird verwendet, um zu erkennen, ob ein Array einen bestimmten Wert enthält, kann NaN beurteilen und gibt direkt true/false zurück, was intuitiver ist.
Die Methode indexOf() wird verwendet, um die Position eines Elements zu ermitteln Richter NaN gibt -1 zurück, was bedeutet, dass es nicht enthalten ist, und ungleich 1 bedeutet, dass es sich um die aktuell enthaltene Position handelt.
Beide Methoden haben ihre eigenen Vor- und Nachteile, die von der tatsächlichen Situation abhängen. Wenn das Element NaN enthält, verwenden Sie include(), andernfalls kann beides verwendet werden.