Junior
105
questionbank
Как можно проверить, что данное поле является массивом?
Ответ от нейросети
sobes.tech AI
Существует несколько способов проверить, является ли данное поле массивом:
-
Array.isArray(): Наиболее предпочтительный и современный способ.// Проверяет, является ли значение массивом. // Возвращает true или false. Array.isArray([]); // true Array.isArray({}); // false Array.isArray(null); // false Array.isArray(undefined); // false Array.isArray(123); // false Array.isArray('строка'); // false -
instanceof Array: Работает для массивов, созданных в текущем фрейме.// Проверяет, является ли объект экземпляром класса Array. // Может давать некорректный результат при работе с iframe. [] instanceof Array; // true new Array() instanceof Array; // true ({}); // false -
Object.prototype.toString.call(): Надежный способ, обходящий проблемы сinstanceofв разных фреймах.// Возвращает строковое представление типа объекта. // Для массивов возвращает "[object Array]". Object.prototype.toString.call([]); // "[object Array]" Object.prototype.toString.call({}); // "[object Object]" Object.prototype.toString.call(null); // "[object Null]" Object.prototype.toString.call(undefined); // "[object Undefined]" -
Проверка свойства
constructor: Менее надежно, так как свойствоconstructorможет быть изменено.// Проверяет, равен ли конструктор объекта Array. [].constructor === Array; // true ({}).constructor === Object; // false
Наиболее рекомендуемым и надежным в большинстве случаев является использование Array.isArray().