Heim >Backend-Entwicklung >PHP-Tutorial >Gibt es ein JavaScript-Äquivalent zu PHPs in_array()?

Gibt es ein JavaScript-Äquivalent zu PHPs in_array()?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-12 08:17:01728Durchsuche

Is there a JavaScript equivalent to PHP's in_array()?

JavaScript-Äquivalent zu PHPs in_array()

JavaScript hat kein genaues Äquivalent zur PHP-Funktion in_array(), die prüft, ob ein Array vorhanden ist enthält einen bestimmten Wert aus einem anderen Array. Allerdings verfügen mehrere Bibliotheken von Drittanbietern über Hilfsfunktionen, die ähnliche Funktionen bieten.

Für den Basiswertvergleich

Für den einfachen Wertevergleich können Sie eine dieser Bibliotheken verwenden :

  • jQuery's jQuery.inArray(): Überprüft effizient, ob ein Wert in einem Array vorhanden ist.
if ($.inArray('value', array) !== -1) {
  // Value found in the array
}
  • Prototype's Array.indexOf(): Gibt den Index eines Array-Elements zurück, das dem angegebenen Wert entspricht.
if (array.indexOf('value') !== -1) {
  // Value found in the array
}

Für Array-Vergleich

Wenn Sie überprüfen müssen, ob ein Array in einem anderen enthalten ist, können Sie diese benutzerdefinierte Funktion verwenden:

function inArray(needle, haystack) {
  return haystack.some(function(value) {
    return value.every(function(item) {
      return needle.includes(item);
    });
  });
}

Diese Funktion implementiert das Verhalten von PHPs in_array(), wobei sie „true“ zurückgibt, wenn die Werte des Nadel-Array sind alle in einem der Unterarrays des Heuhaufen-Arrays enthalten.

Beispiel

var needle = ['p', 'h'];
var haystack = [['p', 'h'], ['p', 'r'], 'o'];

if (inArray(needle, haystack)) {
  // Needle array is contained in one of the subarrays of haystack
}

Das obige ist der detaillierte Inhalt vonGibt es ein JavaScript-Äquivalent zu PHPs in_array()?. 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