Назад к вопросам
Junior
99
questionbank
Как проверить, что объект является массивом?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Существует несколько способов:
-
Использовать
Array.isArray(). Это самый надежный и рекомендуемый способ.const arr = [1, 2, 3]; const obj = { a: 1 }; console.log(Array.isArray(arr)); // true console.log(Array.isArray(obj)); // false -
Использовать
instanceof Array. Работает для массивов, созданных в текущем фрейме или окне. Может давать ложные результаты при работе с фреймами или кросс-доменными сценариями.const arr = [1, 2, 3]; const obj = { a: 1 }; console.log(arr instanceof Array); // true console.log(obj instanceof Array); // false -
Использовать
Object.prototype.toString.call(). Возвращает строковое представление типа объекта. Для массивов это"[object Array]".const arr = [1, 2, 3]; const obj = { a: 1 }; console.log(Object.prototype.toString.call(arr) === '[object Array]'); // true console.log(Object.prototype.toString.call(obj) === '[object Array]'); // false
Наиболее предпочтительным является использование Array.isArray(), так как он надежен и не имеет побочных эффектов, связанных с контекстом выполнения.