Sobes.tech
Junior

Kako odrediti da li promenljiva sadrži niz?

sobes.tech АИ

Одговор од АИ

Najpouzdaniji način je korišćenje Array.isArray():

// Proverava da li je vrednost niz
Array.isArray(mojaPromenljiva);

Ova metoda vraća true ako je promenljiva niz, i false u suprotnom, bez obzira na kontekst izvršenja ili druge faktore.

Drugi, manje pouzdani načini uključuju:

  1. typeof:

    // Za nizove, `typeof` će vratiti 'object'
    typeof mojaPromenljiva === 'object';
    

    Manje je pouzdano, jer typeof vraća 'object' za mnoge tipove podataka, ne samo za nizove (objekti, null).

  2. instanceof:

    // Proverava da li je objekat instanca klase Array
    mojaPromenljiva instanceof Array;
    

    Može biti nepouzdano kada se radi sa iframe-ovima ili prozorima sa različitim JavaScript kontekstima, gde Array iz jednog konteksta može biti različit od drugog.

  3. Provera konstruktora:

    // Proverava da li je konstruktor promenljive Array
    mojaPromenljiva.constructor === Array;
    

    Takođe može izazvati probleme u različitim kontekstima izvršenja.

Tabela sažetka:

Metod Pouzdanost Opis
Array.isArray() Visoka Specijalizovano za proveru nizova.
typeof mojaPromenljiva Niska Za nizove, vraća 'object'.
mojaPromenljiva instanceof Array Srednja/Niska (zavisno od konteksta) Proverava da li pripada klasi Array.
mojaPromenljiva.constructor === Array Srednja/Niska (zavisno od konteksta) Proverava svojstvo constructor.

Stoga je Array.isArray() preferirani i najpouzdaniji način.