Junior
Kuidas määrata, kas muutujas on massiiv?
sobes.tech AI
Vastus AI-lt
Kõige usaldusväärsem viis — kasutada Array.isArray():
// Kontrollib, kas väärtus on massiiv
Array.isArray(myVariable);
See meetod tagastab true, kui muutuja on massiiv, ja false muul juhul, sõltumata täitmise kontekstist või muudest teguritest.
Mõned, vähem usaldusväärsed viisid hõlmavad:
-
typeof:// Massiivide puhul tagastab `typeof` `'object'` typeof myVariable === 'object';Ei ole usaldusväärne, kuna
typeoftagastab'object'paljude andmetüüpide jaoks, sh massiivid (objektid, null). -
instanceof:// Kontrollib, kas objekt on `Array` klassi eksemplar myVariable instanceof Array;Võib olla ebausaldusväärne erinevates kontekstides, kus
Arrayerineb. -
Konstruktorit kontrollida:
// Kontrollib, kas muutuja on `Array` konstruktor myVariable.constructor === Array;Samuti võib olla ebausaldusväärne erinevates kontekstides.
Kokkuvõte:
| Meetod | Usaldusväärsus | Kirjeldus |
|---|---|---|
Array.isArray() |
Kõrge | Spetsialiseeritud massiivide kontrollimiseks. |
typeof myVariable |
Madal | Massiivide puhul tagastab 'object'. |
myVariable instanceof Array |
Mõõdukas/Madal (sõltuvalt kontekstist) | Kontrollib, kas kuulub Array klassi. |
myVariable.constructor === Array |
Mõõdukas/Madal (sõltuvalt kontekstist) | Kontrollib constructor omadust. |
Seega, Array.isArray() on eelistatud ja kõige usaldusväärsem viis.