MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Questa traduzione è incompleta. Collabora alla traduzione di questo articolo dall’originale in lingua inglese.

Array.isArray() determina se il valore passato corrisponde ad un Array.

Array.isArray([1, 2, 3]);  // true
Array.isArray({foo: 123}); // false
Array.isArray('foobar');   // false
Array.isArray(undefined);  // false

Sintassi

Array.isArray(obj)

Parametri

obj
Oggetto da verificare.

Return value

true se l'oggetto è un Array; oppure false.

Descrizione

Se l'oggetto corrisponde a un Array, viene restituito true, in caso contrario false

Per un approfondimento leggi questo articolo: “Determining with absolute accuracy whether or not a JavaScript object is an array”

Esempi

// all following calls return true
Array.isArray([]);
Array.isArray([1]);
Array.isArray(new Array());
// Little known fact: Array.prototype itself is an array:
Array.isArray(Array.prototype); 

// all following calls return 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 });

Differenza tra instanceof e isArray

Quando devi verificare se si tratta di un'istanza di Array, è consigliato utilizzare Array.isArray invece di instanceof perché funziona anche attraverso gli iframe.

var iframe = document.createElement('iframe');
document.body.appendChild(iframe);
xArray = window.frames[window.frames.length-1].Array;
var arr = new xArray(1,2,3); // [1,2,3]

// Correctly checking for Array
Array.isArray(arr);  // true
// Considered harmful, because doesn't work though iframes
arr instanceof Array; // false

Polyfill

Esegui questo script prima di qualsiasi codice per creare Array.isArray() quando non è disponibilie nativamente.

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

Specifiche

Specifica Status Commenti
ECMAScript 5.1 (ECMA-262)
The definition of 'Array.isArray' in that specification.
Standard Definizione iniziale. Implementato in JavaScript 1.8.5.
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Array.isArray' in that specification.
Standard  
ECMAScript Latest Draft (ECMA-262)
The definition of 'Array.isArray' in that specification.
Draft  

Compatibilità con i browser

Funzionalità Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Supporto di base 5 (Yes) 4.0 (2.0) 9 10.5 5
Funzionalità Android Chrome for Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Supporto di base (Yes) (Yes) (Yes) 4.0 (2.0) (Yes) (Yes) (Yes)

Vedi anche

Tag del documento e collaboratori

 Hanno collaborato alla realizzazione di questa pagina: inuyaksa
 Ultima modifica di: inuyaksa,