Sobes.tech
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:

  1. typeof:

    // Massiivide puhul tagastab `typeof` `'object'`
    typeof myVariable === 'object';
    

    Ei ole usaldusväärne, kuna typeof tagastab 'object' paljude andmetüüpide jaoks, sh massiivid (objektid, null).

  2. instanceof:

    // Kontrollib, kas objekt on `Array` klassi eksemplar
    myVariable instanceof Array;
    

    Võib olla ebausaldusväärne erinevates kontekstides, kus Array erineb.

  3. 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.