Junior
Ako môžete skontrolovať, či je toto pole pole?
sobes.tech AI
Odpoveď od AI
Existuje niekoľko spôsobov, ako skontrolovať, či je dané pole poľom:
-
Array.isArray(): Najpreferovanejší a moderný spôsob.// Kontroluje, či je hodnota poľom. // Vráti true alebo false. Array.isArray([]); // true Array.isArray({}); // false Array.isArray(null); // false Array.isArray(undefined); // false Array.isArray(123); // false Array.isArray('reťazec'); // false -
instanceof Array: Funguje pre polia vytvorené v aktuálnom rámci.// Kontroluje, či je objekt inštanciou triedy Array. // Môže dávať nesprávne výsledky pri práci s iframe. [] instanceof Array; // true new Array() instanceof Array; // true ({}); // false -
Object.prototype.toString.call(): Spoľahlivý spôsob, ktorý obchádza problémy sinstanceofv rôznych rámcoch.// Vráti reťazcovú reprezentáciu typu objektu. // Pre polia vráti "[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: Menej spoľahlivá, pretože vlastnosťconstructormôže byť zmenená.// Kontroluje, či je konštruktor objektu Array. [].constructor === Array; // true ({}).constructor === Object; // false
Najviac odporúčaný a spoľahlivý spôsob v väčšine prípadov je použitie Array.isArray().