Maison >interface Web >js tutoriel >Comment puis-je déterminer efficacement si une valeur existe dans un tableau JavaScript ?

Comment puis-je déterminer efficacement si une valeur existe dans un tableau JavaScript ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-07 22:52:13801parcourir

How Can I Efficiently Determine if a Value Exists in a JavaScript Array?

Exploration approfondie de la détermination de la valeur d'un tableau

En JavaScript, déterminer si un élément existe dans un tableau peut être une tâche de programmation courante. Pour résoudre ce problème, nous introduisons une technique d'itération de tableau.

La fonction fournie :

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

Malheureusement, cette fonction renvoie systématiquement false. Un problème potentiel réside dans l'opérateur d'égalité (==) utilisé dans l'instruction if, qui vérifie la coercition de type plutôt que l'égalité stricte. Réviser cette ligne en if (this[i] === obj) résoudrait le problème.

Cependant, une solution plus efficace et plus concise est disponible en utilisant la fonction utilitaire de jQuery :

$.inArray(value, array)

Cette fonction recherche la position d'une valeur spécifique dans un tableau, renvoyant l'index si elle est trouvée ou -1 sinon.

Dans le fichier fourni exemple :

arrValues = ["Sam","Great", "Sample", "High"]
alert(arrValues.contains("Sam"));

Le résultat attendu serait vrai en utilisant notre fonction personnalisée (après avoir corrigé le contrôle d'égalité) ou 0 en utilisant $.inArray de jQuery.

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