Функція Array.isArray() з'ясовує чи є передане значення масивом.
 
Array.isArray([1, 2, 3]);    // true
Array.isArray(new Array());  // true
Array.isArray({foo: 123});   // false
Array.isArray('foobar');     // false
Array.isArray(undefined);    // false

Синтакс

Array.isArray(obj)

Параметри

obj
Об'єкт, який буде перевірено.

Вертає

Значення true, якщо obj є масивом; false — якщо ні.

Опис

Якщо переданий об'єкт є масивом, метод Array.isArray() повертає true, інакше повертає false.

Більш докладні відомості шукайте у статті «Як з'ясувати напевне, чи є об'єкт у JavaScript масивом».

Приклади

Всі наведені в цьому прикладі перевірки вертають true:

Array.isArray([]);
Array.isArray([1]);
Array.isArray(new Array());
// Маловідомий факт, Array.prototype сам є масивом:
Array.isArray(Array.prototype);

Всі наведені в цьому прикладі перевірки вертають 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 });

Хоча об'єкт arguments є подібним до масиву, масивом він все ж не є:

(function() {
  // виводить false
  console.log(Array.isArray(arguments));
})();

Запасний варіант (поліфіл)

Щоб запровадити підтримку функції Array.isArray() для застарілих рушіїв, де її від початку немає, можна скористатися таким запасним варіантом:

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

Специфікації

Специфікація Статус Коментар
ECMAScript 5.1 (ECMA-262)
The definition of 'Array.isArray' in that specification.
Standard Початкова виознака. Запроваджено у 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  

Підтримка веб-переглядачами

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung 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

Див. також

Мітки документа й учасники

Зробили внесок у цю сторінку: asmforce, piton13
Востаннє оновлена: asmforce,