Sobes.tech
Junior

Kaip patikrinti, ar objektas yra masyvas?

sobes.tech AI

Atsakymas iš AI

Yra keletas būdų:

  1. Naudokite Array.isArray(). Tai patikimiausias ir rekomenduojamas būdas.

    const arr = [1, 2, 3];
    const obj = { a: 1 };
    
    console.log(Array.isArray(arr)); // true
    console.log(Array.isArray(obj)); // false
    
  2. Naudokite instanceof Array. Veikia su masyvais, sukurtais dabartiniame rėmime arba lange. Gali duoti klaidingus rezultatus dirbant su rėmais arba kryžminėmis domeno scenarijais.

    const arr = [1, 2, 3];
    const obj = { a: 1 };
    
    console.log(arr instanceof Array); // true
    console.log(obj instanceof Array); // false
    
  3. Naudokite Object.prototype.toString.call(). Grąžina objekto tipo eilutės atvaizdą. Masyvams tai yra "[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
    

Patikimiausias būdas yra naudoti Array.isArray(), nes jis patikimas ir neturi šalutinių efektų, susijusių su vykdymo kontekstu.