Sobes.tech
Junior

Kā pārbaudīt, vai objekts ir masīvs?

sobes.tech AI

Atbilde no AI

Ir vairākas veidi:

  1. Izmantojiet Array.isArray(). Tas ir visdrošākais un ieteicamākais veids.

    const arr = [1, 2, 3];
    const obj = { a: 1 };
    
    console.log(Array.isArray(arr)); // true
    console.log(Array.isArray(obj)); // false
    
  2. Izmantojiet instanceof Array. Darbojas ar masīviem, kas izveidoti pašreizējā rāmi vai logā. Var dot nepatiesus rezultātus, strādājot ar rāmiem vai starpdomēnu scenārijiem.

    const arr = [1, 2, 3];
    const obj = { a: 1 };
    
    console.log(arr instanceof Array); // true
    console.log(obj instanceof Array); // false
    
  3. Izmantojiet Object.prototype.toString.call(). Atgriež objekta tipa virknes attēlojumu. Masīviem tas ir "[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
    

Visuzticamākā metode ir Array.isArray(), jo tā ir uzticama un tai nav blakusparādību, kas saistītas ar izpildes kontekstu.