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:
-
typeof:// Masyvams `typeof` grąžins `'object'` typeof myVariable === 'object';Nėra patikimas, nes
typeofgrąžina'object'daugeliui duomenų tipų, įskaitant masyvus (objektus, null). -
instanceof:// Patikrina, ar objektas yra `Array` klasės pavyzdys myVariable instanceof Array;Gali būti nepatikimas dirbant su skirtingais kontekstais, kur
Arrayskiriasi. -
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.