Junior
Jak lze ověřit, že toto pole je pole?
sobes.tech AI
Odpověď od AI
Existuje několik způsobů, jak ověřit, zda dané pole je pole:
-
Array.isArray(): Nejpreferovanější a moderní způsob.// Kontroluje, zda je hodnota pole. // Vrací true nebo false. Array.isArray([]); // true Array.isArray({}); // false Array.isArray(null); // false Array.isArray(undefined); // false Array.isArray(123); // false Array.isArray('řetězec'); // false -
instanceof Array: Funguje pro pole vytvořená v aktuálním rámci.// Kontroluje, zda je objekt instancí třídy Array. // Může dávat nesprávné výsledky při práci s iframe. [] instanceof Array; // true new Array() instanceof Array; // true ({}); // false -
Object.prototype.toString.call(): Spolehlivý způsob, který obejde problémy sinstanceofv různých rámcích.// Vrací řetězcové zobrazení typu objektu. // Pro pole vrací "[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]" -
Kontrola vlastnosti
constructor: Méně spolehlivá, protože vlastnostconstructormůže být změněna.// Kontroluje, zda je konstruktor objektu Array. [].constructor === Array; // true ({}).constructor === Object; // false
Nejvíce doporučeným a spolehlivým způsobem je použití Array.isArray().