Jak sprawdzić, czy zmienna jest tablicą?
#7Sprawdzenie, czy zmienna jest tablicą było w JavaScript nie do końca prostym zadaniem. Niestety, typeof nie daje nam jednoznacznej odpowiedzi, ponieważ zwraca to samo dla tablic i obiektów:
var arr = [1, 2, 3];
var obj = {};
typeof arr; // "object"
typeof obj; // "object"
W ECMAScript 3 sprawdzaliśmy, czy zmienna jest tablicą następująco:
var arr = [1, 2, 3];
if (Object.prototype.toString.call(arr) === "[object Array]") {}
Na szczęście najnowsza wersja ECMAScript 5 wprowadza funkcję Array.isArray:
var arr = [1, 2, 3];
if (Array.isArray(arr)) {}