La méthode Array.isArray() permet de déterminer si l'objet passé en argument est un objet Array, elle renvoie true si le paramètre passé à la fonction est de type Array et false dans le cas contraire.

Array.isArray([1, 2, 3]);   // true
Array.isArray({toto: 123}); // false
Array.isArray("tototruc");  // false
Array.isArray(undefined);   // false

Syntaxe

Array.isArray(obj)

Paramètres

obj
L'objet dont on veut vérifier le type

Valeur de retour

true si l'objet est un tableau (instance de Array), false sinon.

Description

Si l'objet indiqué en paramètre est un Array, la méthode renvoie true, sinon, elle renvoie false.

Voir aussi : « Determining with absolute accuracy whether or not a JavaScript object is an array » (en anglais) pour avoir plus de détails.

Exemples

// Tous les appels suivant renvoient true
Array.isArray([]);
Array.isArray([1]);
Array.isArray( new Array() );
// Une petite anecdote: Array.prototype lui même est un Array
Array.isArray( Array.prototype );

// Tous les appels suivant renvoient false
Array.isArray();
Array.isArray({});
Array.isArray(null);
Array.isArray(undefined);
Array.isArray(17);
Array.isArray("Array");
Array.isArray(true);
Array.isArray(false);
Array.isArray({ __proto__ : Array.prototype });

Prothèse d'émulation (polyfill)

Exécuter ce code avant tout les autres aboutira à la création de la méthode Array.isArray()si elle n'est pas nativement prise en charge par le navigateur.

if(!Array.isArray) {
  Array.isArray = function(arg) {
    return Object.prototype.toString.call(arg) === '[object Array]';
  };
}

Spécifications

Spécification État Commentaires
ECMAScript 5.1 (ECMA-262)
La définition de 'Array.isArray' dans cette spécification.
Standard Définition initiale. Implémentée avec JavaScript 1.8.5.
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'Array.isArray' dans cette spécification.
Standard  
ECMAScript Latest Draft (ECMA-262)
La définition de 'Array.isArray' dans cette spécification.
Standard évolutif  

Compatibilité des navigateurs

FonctionnalitéChromeEdgeFirefoxInternet ExplorerOperaSafari
Support simple5 (Oui)4910.55
FonctionnalitéAndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Support simple (Oui) (Oui) (Oui)4 (Oui) (Oui) (Oui)

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SphinxKnight, Steve-Nzr, tym, teoli, quentin.lamamy
 Dernière mise à jour par : SphinxKnight,