Sobes.tech
Junior

Jak zjistit, zda je objekt pole?

sobes.tech AI

Odpověď od AI

Existuje několik způsobů:

  1. Použijte Array.isArray(). Je to nejspolehlivější a doporučený způsob.

    const arr = [1, 2, 3];
    const obj = { a: 1 };
    
    console.log(Array.isArray(arr)); // true
    console.log(Array.isArray(obj)); // false
    
  2. Použijte instanceof Array. Funguje pro pole vytvořená v aktuálním rámci nebo okně. Může dávat falešné výsledky při práci s rámci nebo scénáři cross-domain.

    const arr = [1, 2, 3];
    const obj = { a: 1 };
    
    console.log(arr instanceof Array); // true
    console.log(obj instanceof Array); // false
    
  3. Použijte Object.prototype.toString.call(). Vrací řetězcové zobrazení typu objektu. Pro pole je to "[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
    

Nejvhodnější je použití Array.isArray(), protože je spolehlivé a nemá vedlejší účinky související s kontextem vykonávání.