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
Libérer: 2024-12-05 15:04:10
original
472 Les gens l'ont consulté

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);
Copier après la connexion

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);
}
Copier après la connexion

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
}
Copier après la connexion

Implémentation de Daniel James :

if (!Array.prototype.indexOf) {
    // Add the indexOf method to Array.prototype
    // with handling for a negative fromIndex
}
Copier après la connexion

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
};
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal