Array.prototype.includes()

La méthode includes() permet de déterminer si un tableau contient un élément et renvoie true si c'est le cas, false sinon.

var a = [1, 2, 3]
a.includes(2); // true
a.includes(4); // false

Syntaxe

array.includes(élémentRecherché)
array.includes(élémentRecherché, indiceDépart)

Paramètres

élémentRecherché
L'élément dont on souhaite savoir s'il est dans le tableau.
indiceDépart Facultatif
La position du tableau à partir de laquelle commencer à chercher élémentRecherché. Si on utilise une valeur négative, la recherche commencera à partir de la fin du tableau. La valeur par défaut est 0.

Valeur de retour

Un booléen

Exemples

[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

Prothèse d'émulation (polyfill)

if (!Array.prototype.includes) {
  Array.prototype.includes = function(searchElement /*, fromIndex*/ ) {
    'use strict';
    if (this == null) {
      throw new TypeError('Array.prototype.includes called on null or undefined');
    }
    var O = Object(this);
    var len = parseInt(O.length, 10) || 0;
    if (len === 0) {
      return false;
    }
    var n = parseInt(arguments[1], 10) || 0;
    var k;
    if (n >= 0) {
      k = n;
    } else {
      k = len + n;
      if (k < 0) {k = 0;}
    }
    var currentElement;
    while (k < len) {
      currentElement = O[k];
      if (searchElement === currentElement ||
         (searchElement !== searchElement && currentElement !== currentElement)) { // NaN !== NaN
        return true;
      }
      k++;
    }
    return false;
  };
}

Spécification

Spécification État Commentaires
ECMAScript 2016 (ECMA-262)
La définition de 'Array.prototype.includes' dans cette spécification.
Standard Définition initiale.
ECMAScript 2017 Draft (ECMA-262)
La définition de 'Array.prototype.includes' dans cette spécification.
Projet  

Compatibilité des navigateurs

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Edge Opera Safari
Support simple

47

43 (43) Pas de support 14 34 9
Fonctionnalité Android Chrome pour Android Webview Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support simple Pas de support

47

47

43.0 (43) Pas de support 34 9

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SphinxKnight, fscholz
 Dernière mise à jour par : SphinxKnight,