Statická metoda Array.isArray() určuje jestli vloženou hodnotou je Array.

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

Syntaxe

Array.isArray(hodnota)

Parametry

hodnota
Hodnota ke zkontrolování.

Vrácená hodnota

true pokud hodnotou je Array; jinak false.

Popis

Pokud hodnotou je Array, true je vráceno; jinak je vráceno false

Pro více detailů si můžete přečíst tento článek: “Determining with absolute accuracy whether or not a JavaScript object is an array”. Pokud vloženou hodnotou je TypedArray, false je vždy vráceno.

Příklady

// všechny následující příklady vrací true
Array.isArray([]);
Array.isArray([1]);
Array.isArray(new Array());
Array.isArray(new Array('a', 'b', 'c', 'd'));
Array.isArray(new Array(3));
// Málo známý fakt: Array.prototype je array:
Array.isArray(Array.prototype); // true

// všechny následující příklady vrací 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

Když kontrolujeme jestli něco je Array, tak Array.isArray je lepší než instanceof, protože Array.isArray funguje i skrz 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]

Array.isArray(arr);  // true
arr instanceof Array; // false

Polyfill

Pokud  Array.isArray() neni podporováno, tak je možné jej nahradit následujícím polyfillem.

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

Specifikace

Specifikace Stav Poznámka
ECMAScript 5.1 (ECMA-262)
The definition of 'Array.isArray' in that specification.
Standard Počáteční definice implementována v JavaScriptu 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  

Kompatibilita s prohlížeči

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
Basic supportChrome Full support 5Edge Full support YesFirefox Full support 4IE Full support 9Opera Full support 10.5Safari Full support 5WebView Android Full support YesChrome Android Full support YesEdge Mobile 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

Související

Štítky a přispěvatelé do dokumentace

Přispěvatelé této stránky: mdnwebdocs-bot, ejdrien
Poslední aktualizace od: mdnwebdocs-bot,