Maison  >  Article  >  développement back-end  >  Existe-t-il un équivalent JavaScript à in_array() de PHP ?

Existe-t-il un équivalent JavaScript à in_array() de PHP ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-12 08:17:01582parcourir

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

JavaScript équivalent à la fonction in_array() de PHP

JavaScript n'a pas d'équivalent exact à la fonction in_array() de PHP, qui vérifie si un tableau contient une valeur spécifique d'un autre tableau. Cependant, plusieurs bibliothèques tierces sont dotées de fonctions utilitaires offrant des fonctionnalités similaires.

Pour une comparaison de valeurs de base

Pour une comparaison simple de valeurs, vous pouvez utiliser l'une de ces bibliothèques. :

  • jQuery.inArray() de jQuery : Vérifie si une valeur existe efficacement dans un tableau.
if ($.inArray('value', array) !== -1) {
  // Value found in the array
}
  • Array.indexOf() du prototype : Renvoie l'index d'un élément de tableau qui correspond à la valeur spécifiée.
if (array.indexOf('value') !== -1) {
  // Value found in the array
}

Pour la comparaison de tableaux

Si vous devez vérifier si un tableau est contenu dans un autre, vous pouvez utiliser cette fonction personnalisée :

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

Cette fonction implémente le comportement de in_array() de PHP, où elle renvoie true si les valeurs du Les tableaux d'aiguilles sont tous contenus dans l'un des sous-tableaux du tableau de bottes de foin.

Exemple

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
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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