Array.isArray()
BaselineWidely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Сводка
МетодArray.isArray()
возвращаетtrue
, если объект является массивом иfalse
, если он массивом не является.
Синтаксис
Array.isArray(obj)
Параметры
obj
Объект для проверки.
Возвращаемое значение
true
если объект являетсяArray
; иначе,false
.
Описание
За подробностям обращайтесь к статье«Абсолютно точное определение того, является ли JavaScript-объект массивом или нет».
Примеры
// Все следующие вызовы вернут trueArray.isArray([]);Array.isArray([1]);Array.isArray(new Array());// Малоизвестный факт: Array.prototype сам является массивом:Array.isArray(Array.prototype);// Все следующие вызовы вернут falseArray.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 });
instanceof
vsisArray
Когда проверяем экземплярArray
,Array.isArray
предпочтительней, чемinstanceof
, потому что он работает и с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]// Correctly checking for ArrayArray.isArray(arr); // true// Considered harmful, because doesn't work through iframesarr instanceof Array; // false
Полифил
Выполнение следующего кода перед любым другим кодом создаст методArray.isArray()
, если он ещё не реализован в браузере.
if (!Array.isArray) { Array.isArray = function (arg) { return Object.prototype.toString.call(arg) === "[object Array]"; };}
Спецификации
Specification |
---|
ECMAScript® 2026 Language Specification # sec-array.isarray |