Maison >interface Web >js tutoriel >Quel est le moyen le plus efficace de vérifier si un élément existe dans un tableau JavaScript ?

Quel est le moyen le plus efficace de vérifier si un élément existe dans un tableau JavaScript ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-05 15:04:10469parcourir

What's the Most Efficient Way to Check if an Item Exists in a JavaScript Array?

Meilleure façon de rechercher un élément dans un tableau JavaScript

Déterminer si un objet existe dans un tableau est une tâche courante en JavaScript. Voici les moyens les plus efficaces pour y parvenir :

1. Méthode Array.includes() (ES2016)

Si vous utilisez un navigateur moderne prenant en charge ECMAScript 2016, la méthode native Array.includes() est la solution préférée. Il prend l'élément à rechercher comme argument et renvoie un booléen indiquant sa présence.

arr.includes(obj);

2. Méthode Array.indexOf()

La méthode Array.indexOf() renvoie le premier index de l'élément recherché s'il existe, ou -1 s'il n'est pas trouvé. Pour vérifier l'existence, vous pouvez comparer la valeur de retour à -1 :

function include(arr, obj) {
    return (arr.indexOf(obj) != -1);
}

3. Implémentations personnalisées pour les anciens navigateurs

Si vous devez prendre en charge des navigateurs plus anciens qui n'ont pas Array.includes() ou Array.indexOf(), vous pouvez définir votre propre implémentation :

ECMAScript 262 de Mozilla Implémentation :

if (!Array.prototype.indexOf) {
    // Add the indexOf method to Array.prototype
}

Implémentation de Daniel James :

if (!Array.prototype.indexOf) {
    // Add the indexOf method to Array.prototype
    // with handling for a negative fromIndex
}

Implémentation Array.hasObject() de roosteronacid :

Array.prototype.hasObject = function (o) {
    // Add the hasObject method to Array.prototype
    // which returns true if o is found, false if not
};

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