Массивы в JavaScript

Пятница, 18 Ноябрь 2016 17:28

В этой статье мы с вами познакомимся с разновидностью объектов в JavaScript -речь идет о массивах. Массивы в JavaScript позволяют быстро и в удобной форме сохранить некую коллекцию значений. Приступим.

Итак, что же такое массив и почему он считается разновидностью объекта? При объяснении вопроса о том, что такое массив, мне нравится пример с многоквартирным домом, который как раз и можно сравнить с массивом.

Каждая квартира имеет уникальный номер, по которому мы можем найти и обратиться к тому, кто в ней живет. В чем отличие массива и объекта? Отличие в том, что при создании массива его ключами (свойствами) могут выступать только числа. Поэтому такой вид массива называется нумерованным. В отличие от него, объект может содержать свойства в виде строк (также вы можете встретить термин ассоциативный массив).

Массив объявляется с помощью квадратный скобок:

1.var array = []; // пустой массив
2.console.log(typeof array); // object
 

Распечатка в консоль покажет нам, что мы имеем дело с объектом.

Чем удобнее хранить что-то в массиве, по сравнению с явным объектом? Удобнее тем, что нам не нужно заботиться о ключах массива, JavaScript самостоятельно пронумерует значения, как обычно начиная нумерацию с нуля. Таким образом, в массиве удобно хранить некий однотипный набор данных: список товаров, к примеру.

Давайте попробуем сохранить что-либо в массив и сразу же вывести эти значения в консоль:

1.var names = ['John''James''Jane'];
2.console.log(names[0]); // John
3.console.log(names[1]); // James
4.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.}
 

Результат будет полностью аналогичен предыдущему примеру.

Источник: https://webformyself.com/massivy-v-javascript/