Вебсправочник
Справочник JavaScript

Array.isArray(): проверка типа массива

Array.isArray определяет, является ли переданное значение массивом JavaScript.

Назначение

Array.isArray определяет, является ли переданное значение массивом JavaScript.

Как это работает

Обычный typeof для массива возвращает object, поэтому не отличает его от простого объекта. Проверка isArray также не доказывает корректность элементов: их тип и структуру проверяют отдельно.

Пример

console.assert(Array.isArray([]));
console.assert(!Array.isArray({length:2}));
console.assert(!Array.isArray(null));
const values=[1,2,3];
console.assert(Array.isArray(values)&&values.every(Number.isFinite));

Что должно получиться

Только настоящий массив проходит первую проверку типа. Дополнительный every подтверждает свойства элементов в конкретном примере, но пустота остаётся отдельным условием.

Граница применения и частая ошибка

Не считайте объект с length массивом. И не пропускайте проверку содержимого ответа API только потому, что внешнее значение успешно прошло isArray.

Самостоятельная проверка

Проверьте [], {}, null и объект {length:2}. Затем сформулируйте условие для массива, каждый элемент которого является конечным числом.

JavaScript в песочнице этого сайта не выполняется. Перенесите пример в отдельный учебный файл. Сначала проверьте исходный результат, затем измените входные данные; ошибка проверки означает, что результат отличается от ожидаемого.

Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.