Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erreicht man die „in_array()“-Funktionalität von PHP in JavaScript?

Wie erreicht man die „in_array()“-Funktionalität von PHP in JavaScript?

Barbara Streisand
Barbara StreisandOriginal
2024-11-17 04:28:03451Durchsuche

How to Achieve PHP's `in_array()` Functionality in JavaScript?

JavaScript-Alternative zu PHPs in_array()

In JavaScript gibt es keine integrierte Funktion, die sich genau wie PHPs in_array() verhält. Beliebte Bibliotheken bieten jedoch Hilfsfunktionen, um ähnliche Funktionen zu erreichen.

Die inArray-Funktion von jQuery folgt dem Verhalten von PHP und vergleicht Werte innerhalb von Arrays:

function inArray(needle, haystack) {
  var length = haystack.length;
  for (var i = 0; i < length; i++) {
    if (haystack[i] == needle) return true;
  }
  return false;
}

Wenn Sie überprüfen müssen, ob sich ein Array in einem anderen befindet Array, wie in_array() von PHP, ist eine benutzerdefinierte Funktion wie die folgende erforderlich:

function inArrayNested(needle, haystack) {
  var length = haystack.length;
  for (var i = 0; i < length; i++) {
    if (typeof haystack[i] == 'object') {
      if (arrayCompare(haystack[i], needle)) return true;
    } else {
      if (haystack[i] == needle) return true;
    }
  }
  return false;
}

Diese Funktion ist inArrayNested prüft sowohl einfache als auch verschachtelte Arrays. Denken Sie daran, dass eine Erweiterung des Array-Prototyps im Allgemeinen nicht empfohlen wird.

Das obige ist der detaillierte Inhalt vonWie erreicht man die „in_array()“-Funktionalität von PHP in JavaScript?. 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