Heim >Web-Frontend >js-Tutorial >JS-Implementierungscode, um zu bestimmen, ob sich ein Element innerhalb eines array_javascript-Fähigkeiten befindet

JS-Implementierungscode, um zu bestimmen, ob sich ein Element innerhalb eines array_javascript-Fähigkeiten befindet

WBOY
WBOYOriginal
2016-05-16 15:07:192641Durchsuche

1. JQuery

Wenn Sie JQuery verwenden, können Sie die Funktion inArray() verwenden:

Detaillierte Erläuterung der Funktion jquery inarray()
jquery.inarray(value,array)
Bestimmt die Position des ersten Arguments im Array (gibt -1 zurück, wenn es nicht gefunden wird).

Bestimmen Sie den Index des ersten Parameters im Array (-1, wenn nicht gefunden).
Rückgabewert
jquery
Parameter
Wert (beliebig): Wird verwendet, um herauszufinden, ob
im Array vorhanden ist array (array): Zu verarbeitendes Array.


Verwendung:

Code kopieren Der Code lautet wie folgt:

$.inArray(Wert, Array)

2. Schreiben Sie Ihre eigenen Funktionen

function contains(arr, obj) {
  var i = arr.length;
  while (i--) {
    if (arr[i] === obj) {
      return true;
    }
  }
  return false;
}

Verwendung:

Code kopieren Der Code lautet wie folgt:

var arr = neues Array(1, 2, 3);
enthält(arr, 2);//return true
enthält(arr, 4);//return false

3. Fügen Sie eine Funktion zum Array hinzu

Array.prototype.contains = function (obj) {
  var i = this.length;
  while (i--) {
    if (this[i] === obj) {
      return true;
    }
  }
  return false;
}

Anwendung:

Code kopieren Der Code lautet wie folgt:

[1, 2, 3].contains(2); //True zurückgeben
[1, 2, 3].contains('2'); //False zurückgeben

4. Verwenden Sie indexOf

Aber es gibt ein Problem, dass IndexOf in einigen IE-Versionen nicht kompatibel ist. Sie können die folgende Methode verwenden:

if (!Array.indexOf) {
  Array.prototype.indexOf = function (obj) {
    for (var i = 0; i < this.length; i++) {
      if (this[i] == obj) {
        return i;
      }
    }
    return -1;
  }
}

Bestimmen Sie zunächst, ob Array über eine indexOf-Methode verfügt. Wenn nicht, erweitern Sie diese Methode.

Der obige Code sollte also vor dem Code mit der indexOf-Methode geschrieben werden:

var arr = new Array('1', '2', '3');
if (!Array.indexOf) {
  Array.prototype.indexOf = function (obj) {
    for (var i = 0; i < this.length; i++) {
      if (this[i] == obj) {
        return i;
      }
    }
    return -1;
  }
}
var index = arr.indexOf('1');//为index赋值为0

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