--- title: Array.prototype.includes() slug: Web/JavaScript/Reference/Global_Objects/Array/includes tags: - Array - JavaScript - Méthode - Prototype - Reference - polyfill translation_of: Web/JavaScript/Reference/Global_Objects/Array/includes original_slug: Web/JavaScript/Reference/Objets_globaux/Array/includes ---
La méthode includes()
permet de déterminer si un tableau contient une valeur et renvoie true
si c'est le cas, false
sinon.
Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner https://github.com/mdn/interactive-examples et à envoyer une pull request !
Note : Cette méthode utilise l'algorithme de comparaison SameValueZero qui fonctionne comme l'égalité stricte, à la différence que NaN
est ici égal à lui même.
array.includes(élémentRecherché) array.includes(élémentRecherché, indiceDépart)
élémentRecherché
indiceDépart
{{optional_inline}}élémentRecherché
. Si on utilise une valeur négative, la recherche commencera à partir de la fin du tableau (autrement dit à l'indice array.length - indiceDépart
). La valeur par défaut est 0.Un {{jsxref("Boolean","booléen","",1)}} qui vaut true
si élémentRecherché
est trouvé dans le tableau (à partir de l'indiceDépart
si celui-ci est indiqué). Les valeurs -0, +0 et 0 sont considérées comme équivalentes mais false
n'est pas considéré comme équivalent à 0.
Note : Pour être tout à fait précis, includes()
utilise l'algorithme SameValueZero afin de déterminer si un élément donné est trouvé.
[1, 2, 3].includes(2); // true [1, 2, 3].includes(4); // false [1, 2, 3].includes(3, 3); // false [1, 2, 3].includes(3, -1); // true [1, 2, NaN].includes(NaN); // true ['a', 'b', 'c'].includes('c', 5); // false ['a', 'b', 'c'].includes('c', -100); // true
indiceDépart
supérieur ou égal à la longueur du tableauSI indiceDépart
est supérieur ou égal à la longueur du tableau, la méthode retourne false
. Le tableau n'est pas parcouru.
var arr = ['a', 'b', 'c']; arr.includes('c', 3); // false arr.includes('c', 100); // false
indiceDépart
strictement négatifSi indiceDépart
est strictement négatif, l'indice de départ effectif est la somme entre la taille du tableau et indiceDépart
. Si cette somme est toujours négative, le tableau est intégralement parcouru.
// Le tableau a une taille de 3 // indiceDépart vaut -2 // L'indice de départ effectif vaut is 3 + (-2) = 1 var arr = ['a', 'b', 'c']; arr.includes('a', -2); // false arr.includes('b', -2); // true arr.includes('c', -100); // true
includes()
comme méthode génériqueincludes()
est une méhtode générique : l'objet sur lequel elle est appelée ne doit pas nécessairement être un tableau. On peut l'utiliser sur des objets semblables à des tableaux (ex. arguments
ou des chaînes de caractères) :
function argumentsContientA(){ return [].includes.call(arguments, 'a'); } console.log(argumentsContientA('a','b','c')); // true console.log(argumentsContientA('d','e','f')); // false
Spécification | État | Commentaires |
---|---|---|
{{SpecName('ES7', '#sec-array.prototype.includes', 'Array.prototype.includes')}} | {{Spec2('ES7')}} | Définition initiale. |
{{SpecName('ESDraft', '#sec-array.prototype.includes', 'Array.prototype.includes')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.Array.includes")}}