HTML: Markup language
CSS: Styling language
JavaScript: Scripting language
Web APIs: Programming interfaces
All web technology
Learn web development
Discover our tools
Get to know MDN better
Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
View in English Always switch to English
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
La méthode statique Array.isArray() détermine si la valeur passée est un Array.
Array.isArray()
Array
console.log(Array.isArray([1, 3, 5])); // Résultat attendu : true console.log(Array.isArray("[]")); // Résultat attendu : false console.log(Array.isArray(new Array(5))); // Résultat attendu : true console.log(Array.isArray(new Int16Array([15, 33]))); // Résultat attendu : false
Array.isArray(value)
value
La valeur dont on veut vérifier le type.
true si value est un Array ; sinon, false. false est toujours retourné si value est une instance de TypedArray.
true
false
TypedArray
Array.isArray() vérifie si la valeur passée est un Array. Elle effectue un contrôle de marque (branded check en anglais), similaire à l'opérateur in, pour un champ privé initialisé par le constructeur Array().
in
Array()
C'est une alternative plus robuste à instanceof Array, car elle évite les faux positifs et les faux négatifs :
instanceof Array
Array.prototype
Voir l'article « Déterminer avec une précision absolue si un objet JavaScript est un tableau » (angl.) pour plus de détails.
// 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)); // Ceci n'est pas un tableau, car il n'a pas été créé avec // la syntaxe littérale de tableau ou le constructeur Array Array.isArray({ __proto__: Array.prototype });
instanceof
Lors de la vérification d'une instance de Array, il est préférable d'utiliser Array.isArray() plutôt que instanceof, car cela fonctionne entre différents environnements d'exécution (realm en anglais).
const iframe = document.createElement("iframe"); document.body.appendChild(iframe); const xArray = window.frames[window.frames.length - 1].Array; const arr = new xArray(1, 2, 3); // [1, 2, 3] // Vérification correcte pour Array Array.isArray(arr); // true // Le prototype de arr est xArray.prototype, qui est un // objet différent de Array.prototype arr instanceof Array; // false
Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.
Array.isArray
core-js