Функція 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  

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

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support5 Yes4910.55
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes Yes Yes4 Yes Yes Yes

Див. також

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

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