Junior
Hogyan lehet megállapítani, hogy egy változó tömböt tartalmaz-e?
sobes.tech MI
Válasz az MI-től
A legmegbízhatóbb módszer az Array.isArray() használata:
// Ellenőrzi, hogy az érték tömb-e
Array.isArray(azEnValtozom);
Ez a módszer true értéket ad, ha a változó tömb, és false-t más esetben, függetlenül a végrehajtási kontextustól vagy más tényezőktől.
Más, kevésbé megbízható módszerek a következők:
-
typeof:// Tömbök esetén a `typeof` 'object'-et ad vissza typeof azEnValtozom === 'object';Kevésbé megbízható, mivel a
typeof'object'-et ad vissza sok adat típus esetén, nem csak tömböknél (objektumok, null). -
instanceof:// Ellenőrzi, hogy az objektum az Array osztály példánya-e azEnValtozom instanceof Array;Kevésbé megbízható, ha különböző JavaScript kontextusokkal dolgozik, például iframe-ek vagy ablakok esetén, ahol az
Arraykülönböző lehet. -
Konstruktor ellenőrzése:
// Ellenőrzi, hogy a változó konstruktora Array-e azEnValtozom.constructor === Array;Szintén problémákat okozhat különböző végrehajtási kontextusokban.
Összefoglaló táblázat:
| Módszer | Megbízhatóság | Leírás |
|---|---|---|
Array.isArray() |
Magas | Kifejezetten tömbök ellenőrzésére készült. |
typeof azEnValtozom |
Alacsony | Tömbök esetén 'object'-et ad vissza. |
azEnValtozom instanceof Array |
Közepes/Alacsony (kontekustól függően) | Ellenőrzi, hogy az az Array osztályhoz tartozik-e. |
azEnValtozom.constructor === Array |
Közepes/Alacsony (kontekustól függően) | Ellenőrzi a constructor tulajdonságot. |
Ezért az Array.isArray() a legjobb és legmegbízhatóbb módszer.