Sobes.tech
Junior

Cum să verifici dacă un obiect este un array?

sobes.tech AI

Răspuns de la AI

Există mai multe modalități:

  1. Folosiți Array.isArray(). Este cea mai fiabilă și recomandată metodă.

    const arr = [1, 2, 3];
    const obj = { a: 1 };
    
    console.log(Array.isArray(arr)); // true
    console.log(Array.isArray(obj)); // false
    
  2. Folosiți instanceof Array. Funcționează pentru array-urile create în cadrul sau fereastra curentă. Poate da rezultate false când lucrați cu cadre sau scenarii cross-domain.

    const arr = [1, 2, 3];
    const obj = { a: 1 };
    
    console.log(arr instanceof Array); // true
    console.log(obj instanceof Array); // false
    
  3. Folosiți Object.prototype.toString.call(). Returnează o reprezentare în șir a tipului obiectului. Pentru array-uri, este "[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
    

Metoda cea mai recomandată este utilizarea Array.isArray(), deoarece este fiabilă și nu are efecte secundare legate de contextul de execuție.