Array.isArray()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

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.

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

Syntaxe

js
Array.isArray(value);

Paramètres

value

La valeur dont on veut vérifier le type

Valeur de retour

true si la valeur est un tableau (une 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. Si on passe un objet TypedArray en argument, ce sera toujours la valeur false qui sera renvoyée.

Exemples

js
// 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 });

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.

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

Spécifications

Specification
ECMAScript Language Specification
# sec-array.isarray

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi