Maison >développement back-end >tutoriel php >Comment vérifier si un élément existe dans un tableau en JavaScript ?

Comment vérifier si un élément existe dans un tableau en JavaScript ?

DDD
DDDoriginal
2024-11-11 14:13:03864parcourir

How to Check if an Element Exists in an Array in JavaScript?

Équivalent JavaScript de in_array() de PHP

Bien que JavaScript soit un langage de programmation largement utilisé, il lui manque la fonction in_array() trouvée dans PHP. Cependant, il existe plusieurs solutions basées sur JavaScript qui offrent des fonctionnalités comparables.

inArray de jQuery

jQuery propose une fonction inArray qui suit le principe de base de in_array() de PHP :

function inArray(needle, haystack) {
    var length = haystack.length;
    for (var i = 0; i < length; i++) {
        if (haystack[i] == needle) return true;
    }
    return false;
}

Cette implémentation vérifie efficacement si une valeur spécifique existe dans la plage spécifiée array.

Array.indexOf de Prototype

La fonction Array.indexOf de Prototype est similaire à inArray de jQuery, mais elle prend en outre en charge la recherche dans des tableaux imbriqués (contrairement à inArray de jQuery).

function inArray(needle, haystack) {
    return haystack.indexOf(needle) !== -1;
}

Cette fonction est plus polyvalente et peut gérer des tableaux complexes structures.

Implémentation personnalisée

Si vous préférez une solution JavaScript native, vous pouvez créer une fonction inArray personnalisée comme suit :

function inArray(needle, haystack) {
    return haystack.some((item) => {
        if (Array.isArray(item)) {
            return inArray(needle, item);
        } else {
            return item === needle;
        }
    });
}

Cette l'implémentation prend en charge à la fois les tableaux imbriqués et les contrôles d'égalité stricts.

Remarque : Ces solutions basées sur JavaScript ne prennent pas entièrement en charge répliquer le comportement in_array() de PHP concernant les tableaux imbriqués. Si vous devez effectuer une telle vérification, vous pouvez utiliser une implémentation personnalisée comme celle fournie dans la section personnalisée.

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