Maison  >  Article  >  interface Web  >  Code d'implémentation JS pour déterminer si un élément fait partie d'une compétence array_javascript

Code d'implémentation JS pour déterminer si un élément fait partie d'une compétence array_javascript

WBOY
WBOYoriginal
2016-05-16 15:07:192579parcourir

1.JQuery

Si vous utilisez JQuery, vous pouvez utiliser la fonction inArray() :

Explication détaillée de la fonction jquery inarray()
jquery.inarray(valeur,tableau)
Détermine la position du premier argument dans le tableau (renvoie -1 s'il n'est pas trouvé).

déterminer l'index du premier paramètre du tableau (-1 s'il n'est pas trouvé).
Valeur de retour
jquery
Paramètres
valeur (any) : utilisé pour savoir si
existe dans le tableau array (array) : Tableau à traiter.


Utilisation :

Copier le code Le code est le suivant :

$.inArray(valeur, tableau)

2. Écrivez vos propres fonctions

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

Utilisation :

Copier le code Le code est le suivant :

var arr = nouveau tableau(1, 2, 3);
contient(arr, 2);//return true
contient(arr, 4);//return false

3. Ajouter une fonction au tableau

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

Comment utiliser :

Copier le code Le code est le suivant :

[1, 2, 3].contains(2); //Retour vrai
[1, 2, 3].contains('2'); //Retour faux

4. Utilisez indexOf

Mais il y a un problème : IndexOf est incompatible dans certaines versions d'IE. Vous pouvez utiliser la méthode suivante :

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

Déterminez d’abord si Array a une méthode indexOf, et sinon, étendez cette méthode.

Le code ci-dessus doit donc être écrit avant le code en utilisant la méthode indexOf :

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn