Il metodo Array.isArray() determina se il valore passato è un Array.

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

Sintassi

Array.isArray(value)

Parametri

value
Il valore da verificare.

Valore di ritorno

true se il valore è un Array; altrimenti, false.

Descrizione

Se il valore è un Array, viene ritornato true; altrimenti viene ritornato false.

Vedi l'articolo “Determining with absolute accuracy whether or not a JavaScript object is an array” per maggiori dettagli. Data un'istanza TypedArray, viene ritornato sempre false.

Esempi

// tutte le seguenti chiamate ritornano true
Array.isArray([]);
Array.isArray([1]);
Array.isArray(new Array());
Array.isArray(new Array('a', 'b', 'c', 'd'));
Array.isArray(new Array(3));
// Fatto poco noto: Array.prototype stesso è un array:
Array.isArray(Array.prototype); 

// tutte le seguenti chiamate ritornano 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 });

instanceof vs isArray

Quando si verifica l'istanza ArrayArray.isArray è preferito su instanceof perché funziona attraverso gli iframes.

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]

// Verifica corretta dell'array
Array.isArray(arr);  // true
// Considerato dannoso, perché non funziona attraverso iframe
arr instanceof Array; // false

Polyfill

L'esecuzione del seguente codice prima di qualsiasi altro codice creerà Array.isArray() se non è nativamente disponibile.

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

Specifiche

Specifica Stato Commento
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

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
isArrayChrome Full support 5Edge Full support 12Firefox Full support 4IE Full support 9Opera Full support 10.5Safari Full support 5WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes

Legend

Full support  
Full support

Vedi anche

Tag del documento e collaboratori

Hanno collaborato alla realizzazione di questa pagina: IsibisiDev, mdnwebdocs-bot, inuyaksa
Ultima modifica di: IsibisiDev,