В этой статье мы с вами познакомимся с разновидностью объектов в JavaScript -речь идет о массивах. Массивы в JavaScript позволяют быстро и в удобной форме сохранить некую коллекцию значений. Приступим.
Итак, что же такое массив и почему он считается разновидностью объекта? При объяснении вопроса о том, что такое массив, мне нравится пример с многоквартирным домом, который как раз и можно сравнить с массивом.
Каждая квартира имеет уникальный номер, по которому мы можем найти и обратиться к тому, кто в ней живет. В чем отличие массива и объекта? Отличие в том, что при создании массива его ключами (свойствами) могут выступать только числа. Поэтому такой вид массива называется нумерованным. В отличие от него, объект может содержать свойства в виде строк (также вы можете встретить термин ассоциативный массив).
Массив объявляется с помощью квадратный скобок:
1.var array = []; // пустой массив2.console.log(typeof array); // objectРаспечатка в консоль покажет нам, что мы имеем дело с объектом.
Чем удобнее хранить что-то в массиве, по сравнению с явным объектом? Удобнее тем, что нам не нужно заботиться о ключах массива, JavaScript самостоятельно пронумерует значения, как обычно начиная нумерацию с нуля. Таким образом, в массиве удобно хранить некий однотипный набор данных: список товаров, к примеру.
Давайте попробуем сохранить что-либо в массив и сразу же вывести эти значения в консоль:
1.var names = ['John', 'James', 'Jane'];2.console.log(names[0]); // John3.console.log(names[1]); // James4.console.log(names[2]); // JaneКак видим, все достаточно удобно. JavaScript сам пронумеровал элементы массива, ну а мы можем легко получить к ним доступ по ключам (их еще называют индексами) массива.

В любой момент мы можем заменить любой из элементов массива:
1.var names = ['John', 'James', 'Jane'];2.console.log(names);3.names[1] = 'Jake';4.console.log(names);
Как и свойства классического объекта, элементы массива можно перебрать в цикле, используя оператор in:
1.var names = ['John', 'James', 'Jane'];2.for(var key in names){3.console.log(key + ', ' + names[key]);4.}
Также можно использовать и классический вариант цикла for. Для того, чтобы пройтись по всем элементам массива, нам нужно знать количество элементов массива, чтобы мы могли работать со счетчиком и массив не зациклился. Получить длину массива нам поможет уже знакомое по работе со строками свойство length. И пример:
1.var names = ['John', 'James', 'Jane'];2.for(var i = 0; i < names.length; i++){3.console.log(i + ', ' + names<em></em>);4.}Результат будет полностью аналогичен предыдущему примеру.
