Junior
Jak można sprawdzić, czy to pole jest tablicą?
sobes.tech AI
Odpowiedź od AI
Istnieje kilka sposobów sprawdzenia, czy dane pole jest tablicą:
-
Array.isArray(): Najbardziej preferowany i nowoczesny sposób.// Sprawdza, czy wartość jest tablicą. // Zwraca true lub false. Array.isArray([]); // true Array.isArray({}); // false Array.isArray(null); // false Array.isArray(undefined); // false Array.isArray(123); // false Array.isArray('łańcuch'); // false -
instanceof Array: Działa dla tablic utworzonych w bieżącej ramce.// Sprawdza, czy obiekt jest instancją klasy Array. // Może dawać niepoprawne wyniki przy pracy z iframe. [] instanceof Array; // true new Array() instanceof Array; // true ({}); // false -
Object.prototype.toString.call(): Niezawodny sposób, obejmujący problemy zinstanceofw różnych ramkach.// Zwraca tekstową reprezentację typu obiektu. // Dla tablic zwraca "[object Array]". Object.prototype.toString.call([]); // "[object Array]" Object.prototype.toString.call({}); // "[object Object]" Object.prototype.toString.call(null); // "[object Null]" Object.prototype.toString.call(undefined); // "[object Undefined]" -
Sprawdzenie właściwości
constructor: Mniej niezawodne, ponieważ właściwośćconstructormoże być zmieniona.// Sprawdza, czy konstruktor obiektu to Array. [].constructor === Array; // true ({}).constructor === Object; // false
Najbardziej zalecanym i niezawodnym sposobem jest użycie Array.isArray().