Массивы | Основы

Массив - это упорядоченная (по индексу) коллекция значений. Для хранения упорядоченных коллекций в JS существует особая структура данных, которая называется Array. Значения в массиве называются элементами, и каждый элемент характеризуется числовой позицией в массиве, которая называется индексом.

Упорядоченная коллекция данных, то есть элементы идут по порядку без пропусков. Если массив имеет пустые значения, он становится неоптимизированным для движка JS и работает с ним медленно. Поэтому массив лучше заполнять однотипными (хотя в JS можно добавить в массив любой тип данных) данными и по порядку!

Так как в JavaScript массивы - это объекты, то их никогда не следует сравнивать при помощи оператора ==. Если всё-таки сравнить два массива с помощью ==, то результат всегда будет один - они никогда не будут одинаковыми, только если они не ссылаются на один объект!

Объявление массива

Объявляются массивы либо через литерал [], либо через конструктор new Array(), при этом индекс массива всегда начинается с нуля:

arr-1.png

Array.isArray()

Массивы по сути это объекты, поэтому чтобы точно определиться с тем, что перед нами именно массив используем статический метод Array.isArray(). Данный метод возвращает true, если объект является массивом и false, если он массивом не является:

arr-2.png

Свойство length и индексы

Чтобы узнать общую длину массива можно воспользоваться свойством length. Оно автоматически обновляется при изменении массива, и на самом деле это не количество элементов, а наибольший индекс плюс один. Если устанавливаем явно (уменьшаем) длину, то удаляем последние элементы массива.

Элемент, можно как получить так и добавить к существующему массиву, указав его индекс в квадратных скобках:

arr-3.png

Метод at()

Метод at(index) принимает значение в виде целого числа и возвращает элемент массива с данным индексом. В качестве аргумента метод принимает положительные и отрицательные числа. При отрицательном значении отсчёт происходит с конца массива.

Пример получения последних элементов при помощи «at»:

arr-4.png

Перебор элементов массива

Самый быстрый, но при это самый громоздкий вариант - перебор элементов массивов циклом for. При этом мы работаем непосредственно с элементами массива digit[i] и можем их менять, если нужно.

Современный вариант - цикл for .. of. Он хорошо оптимизирован для перебора свойств массивов. При этом подходе изменить массив не получится, т.к. при каждой новой итерации мы имеем дело с копией элемента из массива, которое записывается в указанную переменную!

Еще можно через цикл for .. in, но он предназначен для объектов и под массивы совсем не оптимизирован.

arr-5.png

Многомерные массивы

Массивы могут содержать в себе другие массивы. Таким образом можно получить многомерные массивы, например матрицу:

arr-6.png


Массив - developer.mozilla.org

Массивы - learn.javascript.ru

openImgPic