info@a-coding-project.de

Array contains Funktion in JavaScript

Manchmal muss ein Array auf das Vorhandensein eines bestimmten Werts oder Objekts geprüft werden. Eine contains Funktion wie in Java gibt es in JavaScript nicht. Es gibt verschiedene Möglichkeiten dieselbe Funktionalität auch mit JavaScript zu erreichen.

1. Die Funktion indexOf

Dies ist die einfachste Methode, einen Wert zu finden. Die Funktion indexOf gehört zum ECMAScript5 Standard und sollte daher in jedem modernen Browser nutzbar sein.
Sie liefert bei Vorhandensein des gesuchten Elements dessen Index als Integer Zahlenwert. Wird ein Element nicht gefunden so liefert die Funktion den Wert -1.

var einArray = ['Peter', 'Paul', 'Mary'];

console.log(einArray.indexOf('Paul'));

Ein weiterer optionaler Parameter kann angeben, ab welchem Index im Array nach dem Element gesucht werden soll. Im folgenden Beispiel wird erst ab Index 2 nach dem String gesucht. Die Funktion gibt daher –1 zurück.

console.log(einArray.indexOf('Paul', 2));

2. Array.contains selbst erstellen

Man kann die contains-Methode für Array-Objekte auch selbst nachrüsten. Dazu wird dem Array-Objekt einfach prototypisch eine weitere Methode hinzugefügt. Das kann zum Beispiel dann Sinn machen, wenn anstatt des Index ein boolescher Rückgabewert gebraucht wird.

Array.prototype.contains = function(item) { 
  // this bezieht sich auf das Array 
  var idx = this.length; 

  while (idx--) { 
    if (this[idx] === item) { 
      return true;
    } 
  } 
  return false; 
};

3. Hilfsfunktionen aus Bibliotheken nutzen

Viele JavaScript Bibliotheken und Frameworks liefern ihre eigene Version einer contains Funktion mit.
In jQuery wäre das die inArray Funktion. Auch hier wird der Index des gesuchten Elements zurückgegeben.

console.log($.inArray('Mary', einArray));

Über uns

Stefan Wienströer

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project

Auch interessant