--- title: Array.isArray() slug: Web/JavaScript/Reference/Global_Objects/Array/isArray tags: - Array - ECMAScript 5 - JavaScript - Méthode - Reference - polyfill translation_of: Web/JavaScript/Reference/Global_Objects/Array/isArray original_slug: Web/JavaScript/Reference/Objets_globaux/Array/isArray ---
La méthode Array.isArray()
permet de déterminer si l'objet passé en argument est un objet {{jsxref("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
Array.isArray(value)
value
true
si la valeur est un tableau (une instance de {{jsxref("Array")}}), false
sinon.
Si l'objet indiqué en paramètre est un {{jsxref("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. Si on passe un objet {{jsxref("TypedArray")}} en argument, ce sera toujours la valeur false
qui sera renvoyée.
// Tous les appels suivant renvoient true Array.isArray([]); Array.isArray([1]); Array.isArray(new Array()); Array.isArray(new Array('a', 'b', 'c')); Array.isArray(new Array(3)); // 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(new Uint8Array(32)); Array.isArray({ __proto__ : Array.prototype });
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écification | État | Commentaires |
---|---|---|
{{SpecName('ES5.1', '#sec-15.4.3.2', 'Array.isArray')}} | {{Spec2('ES5.1')}} | Définition initiale. Implémentée avec JavaScript 1.8.5. |
{{SpecName('ES6', '#sec-array.isarray', 'Array.isArray')}} | {{Spec2('ES6')}} | |
{{SpecName('ESDraft', '#sec-array.isarray', 'Array.isArray')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.Array.isArray")}}