Sobes.tech
Junior

Kaip nustatyti, ar kintamajame yra masyvas?

sobes.tech AI

Atsakymas iš AI

Patikimiausias būdas — naudoti Array.isArray():

// Patikrina, ar reikšmė yra masyvas
Array.isArray(myVariable);

Šis metodas grąžins true, jei kintamasis yra masyvas, ir false kitu atveju, nepriklausomai nuo vykdymo konteksto ar kitų veiksnių.

Kiti, mažiau patikimi būdai apima:

  1. typeof:

    // Masyvams `typeof` grąžins `'object'`
    typeof myVariable === 'object';
    

    Nėra patikimas, nes typeof grąžina 'object' daugeliui duomenų tipų, įskaitant masyvus (objektus, null).

  2. instanceof:

    // Patikrina, ar objektas yra `Array` klasės pavyzdys
    myVariable instanceof Array;
    

    Gali būti nepatikimas dirbant su skirtingais kontekstais, kur Array skiriasi.

  3. Konstrukto patikrinimas:

    // Patikrina, ar kintamasis yra `Array` konstruktorius
    myVariable.constructor === Array;
    

    Taip pat gali būti nepatikimas skirtinguose kontekstuose.

Santrauka:

Metodas Patikimumas Aprašymas
Array.isArray() Aukštas Specializuotas masyvų patikrinimui.
typeof myVariable Žemas Masyvams grąžina 'object'.
myVariable instanceof Array Vidutinis/Žemas (priklauso nuo konteksto) Patikrina, ar priklauso Array klasei.
myVariable.constructor === Array Vidutinis/Žemas (priklauso nuo konteksto) Patikrina constructor savybę.

Todėl, Array.isArray() yra pageidautinas ir patikimiausias būdas.