Sobes.tech
Junior

Cum puteți verifica dacă acest câmp este un array?

sobes.tech AI

Răspuns de la AI

Există mai multe moduri de a verifica dacă un câmp dat este un array:

  1. Array.isArray(): Cel mai preferat și modern mod.

    // Verifică dacă valoarea este un array.
    // Returnează true sau false.
    Array.isArray([]); // true
    Array.isArray({}); // false
    Array.isArray(null); // false
    Array.isArray(undefined); // false
    Array.isArray(123); // false
    Array.isArray('șir'); // false
    
  2. instanceof Array: Funcționează pentru array-urile create în cadrul curent.

    // Verifică dacă obiectul este o instanță a clasei Array.
    // Poate da rezultate incorecte când se lucrează cu iframe-uri.
    [] instanceof Array; // true
    new Array() instanceof Array; // true
    ({}); // false
    
  3. Object.prototype.toString.call(): Mod de încredere, evită problemele cu instanceof în diferite cadre.

    // Returnează o reprezentare în șir a tipului obiectului.
    // Pentru array-uri, returnează "[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]"
    
  4. Verificarea proprietății constructor: Mai puțin fiabil, deoarece proprietatea constructor poate fi modificată.

    // Verifică dacă constructorul obiectului este Array.
    [].constructor === Array; // true
    ({}).constructor === Object; // false
    

Cel mai recomandat și fiabil mod în majoritatea cazurilor este utilizarea Array.isArray().