Array
Данный тип позволяет создавать массивы пронумерованных элементов.
Массив — это набор переменных, к которым происходит обращение по одному и тому же имени, но с разным индексом (номером элемента массива). Массивы используются для удобного хранения множества сходных по назначению переменных. Кроме этого удобство использования массивов заключается в том что можно изменять значения элементов массива и работать с ним в цикле.
Объявление массива в JavaScript
Создание массива можно произвести с помощью конструкции следующего вида:
var имя_массива = new Array(значение1, значение2, значение3 ....);\\создание массива и заполнение его значениями
var имя_массива = new Array(); \\создание пустого массива
Всем значениям массива присваивается порядковый номер (индекс). Индекс — это число по которому в любой момент можно обратиться к значению массива (элемент массива можно получить и изменить). Первому элементу массива присваивается индекс 0, второму — 1 и так далее.
Следует помнить что при использовании конструкции new Array в скобках необходимо указывать минимум два значения.
Существует еще один вариант конструкции позволяющий создать массив.
var имя_массива = [значение1, значение2, значение3, ...];
При использовании данной конструкции в квадратных скобках можно задавать как несколько значений так и одно, либо вообще пропускать значение и оставлять его неопределенным (конструкция new Array не позволяет такое сделать).
Чтобы присвоить неопределенное значение элементу массива, при создании массива его нужно просто оставить пустым:
var mass1 = [значение1,, значение3, значение4,...];
В данном случае элемент массива с порядковым номером 1 будет иметь неопределенное значение.
Обращение к элементам массива
После создания массива и заполнения его элементами, в любой момент времени можно обратиться к тому или иному элементу используя его индекс. Для обращения к элементу массива необходимо указать имя массива и указать индекс элемента массива.
var myMassiv = new Array(17, 43, 78, "Hello");
vat tem = myMassiv[1];
var tem2 = myMassiv[3];
В нашем случае переменная tem примет значение 43, а переменная tem2 будет иметь значение «Hello». Можно отметить что массив может содержать значения различного типа, числовые, строковые и прочее. В качестве значения элемента массива может выступать и другой массив.
Присваивание значений элементам массива
Зная имя массива и нужный индекс элемента, в любой момент его можно не только получить но и изменить. Для изменения значения элемента массива используется обычная операция присваивания. Кроме того следует запомнить что если мы присвоим значение элементу массива с индексом которого не существует , то элемент с данным индексом будет создан автоматически.
var myMassiv = new Array(17, 43, 78, "Hello");
myMassiv[0] = 889;
myMassiv[3] = 21;
myMassiv[30] = 12;
При выполнении приведенного кода будут произведены следующие изменения. Элемент со с индексом 0 примет значение 889, с индексом 3 примет значение 21 и создастся новый элемент массива с индексом 30, который будет иметь значение 12.
Длина массива
Для того чтобы узнать длину массива используется свойство length, которое есть у каждого массива. Следует запомнить что данное свойство определяет длину массива не по количеству элементов в массиве, а по последнему наибольшему индексу, который есть в массиве.
var myMassiv = new Array(17, 43, 78, "Hello");
var lenM = myMassiv.length // lenM будет равно 4;
Но если мы осуществим следующее действие, то длина массива изменится
var myMassiv = new Array(17, 43, 78, "Hello");
myMassiv[22] = 45;
var lenM2 = myMassiv.length; // в данном случае длина массива будет равна 23
Можно обобщить и сделать вывод:
Длина массива определяется по наибольшему индексу данного массива + 1, так как элементы нумеруются с нуля. Лучше всего при использовании массивов не перескакивать через индексы и нумеровать все элементы по порядку.
Работа с началом и концом массива
В языке JS существуют специальные методы, которые позволяют работать с началом и концом массива. Например, возникают ситуации когда необходимо получить или поместить элемент в начало или конец массива.
- push (значение) — создает элемент в конце массива и помещает в него указанное значение;
- pop () — возвращает значение последнего элемента массива (элемент с наибольшим индексом) и удаляет элемент этот из массива.
- unshift (значение) — данный метод позволяет создать элемент в начале массива и помещает в него указанное значение;
- shift () — возвращает значение первого элемента массива, удаляя его из массива.
Многомерные массивы
Многомерный массив — это массив, значением элементов которого является другие массивы. То есть, массивы собраны в массив. Уровень вложенности может быть разный, наиболее распространены двухмерные массивы, но так же встречаются и трехмерные массивы и т.д.
Для создания многомерно массива необходимо создать обычный массив, после чего элементу данного массива присвоить другой массив.
var myMassiv = new Array(); // создаем обычный пустой масссив
myMassiv [0] = new Array(); // присваиваем первому элементу массива значение нового массива
// создание многомерного массива другим способом
var myMass = [[2, 44], [99, 52]]; // мы создали двухмерный массив, элементами которого являются массивы
Чтобы обратиться к элементам многомерного массива, необходимо в отдельных квадратных скобках указать последовательно индексы всех массивов, которые в него входят.
var myMass = [[2, 44], [99, 52]];
var elem1 = myMass [0][1]; // переменная elem1 будет равна 44
Ассоциативные массивы
Помимо обычных массивов в JS используются ассоциативные массивы. Основное отличие данного типа массивов в том что вместо индекса элемента используется ключ. Ключ в ассоциативном массиве — это строка. Ассоциативные массивы являются объектами класса Object, объявление такого типа массивов происходит следующим образом:
Имя_массива {
ключ1: значение1,
ключ2: значение2,
ключ3: значение3,
...
}
Фигурные скобки называют инициализатором объекта.
Следует запомнить что ключ ассоциативного массива при объявлении не заключается в кавычки, а значение, которое является строкой должно быть заключено в кавычки.
myMassiv {
age: 23,
name: "Ivan",
phonenum: "56-55-22",
city: "Dubai",
}
Обращение к ассоциативному массиву происходит аналогично обращению к элементу обычного массива, с тем исключением что вместо индекса элемента (порядкового номера) указывается ключ.
myMassiv {
age: 23,
name: "Ivan",
phonenum: "56-55-22",
city: "Dubai",
}
var per1 = myMassiv ["name"]; \\ значение переменной per1 будет Ivan