Sobes.tech
Junior

Kā pārbaudīt, vai šis lauks ir masīvs?

sobes.tech AI

Atbilde no AI

Ir vairākas metodes, kā pārbaudīt, vai dots lauks ir masīvs:

  1. Array.isArray(): Visbiežāk izmantotā un mūsdienīga metode.

    // Pārbauda, vai vērtība ir masīvs.
    // Atgriež true vai false.
    Array.isArray([]); // true
    Array.isArray({}); // false
    Array.isArray(null); // false
    Array.isArray(undefined); // false
    Array.isArray(123); // false
    Array.isArray('teksts'); // false
    
  2. instanceof Array: Darbojas ar masīviem, kas izveidoti tajā pašā skripta vidē.

    // Pārbauda, vai objekts ir Array instances.
    // Var sniegt nepareizus rezultātus, ja ir iframe.
    [] instanceof Array; // true
    new Array() instanceof Array; // true
    ({}); // false
    
  3. Object.prototype.toString.call(): Uzticama metode, kas izvairās no instanceof problēmām dažādās vidēs.

    // Atgriež objekta tipa teksta reprezentāciju.
    // Masīviem atgriež "[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. Pārbaude ar constructor īpašību: Mazāk uzticama, jo constructor var tikt mainīts.

    // Pārbauda, vai objekta constructor ir Array.
    [].constructor === Array; // true
    ({}).constructor === Object; // false
    

Visbiežāk un uzticamāk izmantotā metode ir Array.isArray().