Heim > Web-Frontend > js-Tutorial > Wie kann ich effizient feststellen, ob ein Wert in einem JavaScript-Array vorhanden ist?

Wie kann ich effizient feststellen, ob ein Wert in einem JavaScript-Array vorhanden ist?

Patricia Arquette
Freigeben: 2024-12-07 22:52:13
Original
762 Leute haben es durchsucht

How Can I Efficiently Determine if a Value Exists in a JavaScript Array?

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;
}
Nach dem Login kopieren

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)
Nach dem Login kopieren

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"));
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage