Junior
Как можете да проверите дали това поле е масив?
sobes.tech AI
Отговор от 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().