Sobes.tech
Junior

Hogyan lehet ellenőrizni, hogy ez a mező tömb-e?

sobes.tech MI

Válasz az MI-től

Számos módja van annak, hogy ellenőrizzük, egy adott mező tömb-e:

  1. Array.isArray(): A leginkább ajánlott és modern módszer.

    // Ellenőrzi, hogy az érték tömb-e.
    // Igaz vagy hamis értéket ad vissza.
    Array.isArray([]); // true
    Array.isArray({}); // false
    Array.isArray(null); // false
    Array.isArray(undefined); // false
    Array.isArray(123); // false
    Array.isArray('szöveg'); // false
    
  2. instanceof Array: A jelenlegi keretben létrehozott tömbökre működik.

    // Ellenőrzi, hogy az objektum az Array osztály példánya-e.
    // Hibás eredményt adhat iframe-ek esetén.
    [] instanceof Array; // true
    new Array() instanceof Array; // true
    ({}); // false
    
  3. Object.prototype.toString.call(): Megbízható módszer, amely elkerüli az instanceof problémákat különböző keretek között.

    // Visszaadja az objektum típusának sztringes reprezentációját.
    // Tömbök esetén "[object Array]"-t ad vissza.
    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]"
    
  4. A constructor tulajdonság ellenőrzése: Kevésbé megbízható, mivel a constructor tulajdonság módosítható.

    // Ellenőrzi, hogy az objektum konstruktora az Array-e.
    [].constructor === Array; // true
    ({}).constructor === Object; // false
    

A leginkább ajánlott és megbízható módszer a Array.isArray() használata.