Массивы

Литеральная запись

Используйте литеральную форму записи для инициализации массива, это предпочтительный вариант.

var a = ["itsy", "bitsy", "spider"];
console.log(typeof a); // "object", т.к. массив является объектом
console.log(a.constructor === Array); // true

Проверка на массив

ECMAScript 5 имеет метод Array.isArray().

Array.isArray([]); // true

// попытка обмануть не проходит
Array.isArray({
length: 1,
"0": 1,
slice: function () {}
}); // false

Реализация собственной проверки на массив

Реализация Array.isArray для версий младше ES5:

if (typeof Array.isArray === "undefined") {
Array.isArray = function (arg) {
return Object.prototype.toString.call(arg) === "[object Array]";
};
}
Источник – книга «JavaScript Patterns», Stoyan Stefanov
Редактировать на GitHub