Heim >Web-Frontend >js-Tutorial >Wie kann ich effizient feststellen, ob ein Wert in einem JavaScript-Array vorhanden ist?
Eingehende Untersuchung der Array-Wertbestimmung
In JavaScript kann die Bestimmung, ob ein Element in einem Array vorhanden ist, eine häufige Programmieraufgabe sein. Um dies zu beheben, führen wir eine Array-Iterationstechnik ein.
Die bereitgestellte Funktion:
Array.prototype.contains = function(obj) { var i = this.length; while (i--) { if (this[i] == obj) { return true; } } return false; }
Leider gibt diese Funktion durchweg „false“ zurück. Ein potenzielles Problem liegt im in der if-Anweisung verwendeten Gleichheitsoperator (==), der auf Typzwang und nicht auf strikte Gleichheit prüft. Eine Überarbeitung dieser Zeile in if (this[i] === obj) würde das Problem beheben.
Eine effizientere und präzisere Lösung ist jedoch mit der Dienstprogrammfunktion von jQuery verfügbar:
$.inArray(value, array)
Diese Funktion sucht nach der Position eines bestimmten Werts in einem Array und gibt den Index zurück, wenn er gefunden wird, oder -1, wenn nicht.
Im bereitgestellten Beispiel:
arrValues = ["Sam","Great", "Sample", "High"] alert(arrValues.contains("Sam"));
Die erwartete Ausgabe wäre bei Verwendung unserer benutzerdefinierten Funktion wahr (nach Korrektur der Gleichheitsprüfung) oder 0 bei Verwendung von jQuerys $.inArray.
Das obige ist der detaillierte Inhalt vonWie kann ich effizient feststellen, ob ein Wert in einem JavaScript-Array vorhanden ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!