базовый курс

ГРУППА КУРСА

Массивы в JavaScript

Что такое массив

Массив очень похож на переменную, но он содержит не одно значение, а несколько. Эти значения называются элементы массива. У любого элемента, так же, как у переменной, можно получить значение и можно присвоить элементу новое значение. Кроме того, в JavaScript существуют свойства и методы, которые работают с массивом вцелом, например позволяют получить длину массива.

Создание массива

В JavaScript создание массива делается так: пишется имя массива, ставится знак "=" а затем в фигурных скобках перечисляются элементы.

имя массива = [элемент0, элемент1, элемент2];

Создадим массив, с которым далее будем работать.

+
1
2
3
4
5
6
7
8
<!DOCTYPE html>
<html>
<head>
<title>Страница</title>
<meta charset="utf-8">
</head>
<body>
<script>
9
var mas=[5, 72, 30];

Созданный массив можно вывести на страницу:

10
document.write(mas);

Чтобы обратиться к элементу массива, нужно написать имя массива и в квадратных скобках указать номер элемента. Нумерация элементов начинается не с 1, а с 0. Почти всё, что может быть пронумеровано в JavaScript, начинается с нуля, а не с единицы. Этот принцип применяется в большинстве языков программирования. Рекомендую свои нумерации тоже начинать с нуля, чтобы не путаться, с какого порядкового номера начинаются элементы того или иного набора. Номера элементов называются индексы.

Для примера выведем на страницу значение элемента 0, а элементу 1 присвоим новое значение и тоже выведем на страницу:

11
12
13
14
15
document.write('<br>');
document.write(mas[0]);
mas[1]=80;
document.write('<br>');
document.write(mas[1]);

В нашем примере все элементы являются числами. Но массив может содержать данные любых типов. Элементом массива может быть другой массив. Один массив может иметь элементы разных типов. Пример:

16
var dif=[7, true, 'город'];

Существует ещё один способ создания массива в JavaScript. Он сложнее, поэтому используется редко. При этом используется ключевое слово new и указывается, что создаётся массив.

new Array (элемент0, элемент1, элемент2)

Для примера создадим ещё один массив:

17
var nmas = new Array (2, 15);

Добавление и удаление элементов

Добавить элемент просто: нужно указать элемент с индексом, который ещё не создан. У массива mas индекс последнего элемента - 2. Чтобы добавить ещё один элемент, можно указать элемент с индексом 3 и присвоить ему значение:

18
mas[3]=21;

Чтобы не указывать индекс нового элемента, можно использовать метод push, который добавляет элементы в конец массива.

массив.push (значение элемента);

Этот метод может добавить сразу несколько элементов. Для этого нужно перечислить значения новых элементов через запятую. Создадим массив с видами спорта и добавим в него элементы:

19
20
var sport=['Футбол'];
sport.push('Хоккей', 'Баскетбол');

Метод unshift тоже добавляет элементы, но в начало массива.

массив.unshift (значение элемента);

Добавим ещё виды спорта и выведем полученный массив на страницу:

21
22
sport.unshift('Бег', 'Теннис');
document.write('<br>'+sport);

Чтобы удалить элемент, используется метод pop, который удаляет элемент, находящийся в конце массива.

массив.pop ();

Удалим один вид спорта из массива:

23
sport.pop();

Метод shift удаляет элемент, находящийся в начале массива.

массив.shift ();

Удалим первый элемент из массива:

24
sport.shift();

Длина массива

Свойство length содержит длинну массива. Для примера выведем длинну массива mas, который мы создали ранее:

16
17
document.write('<br>');
document.write('длина '+mas.length);

В JavaScript длина массива меет одну особенность: это не количество элементов, а индекс последнего элемента + 1. Это важно, потому, что каких-то элементов в массиве может не быть. Часто бывает нужно произвести какие-то действия с каждым элементом массива. Это делается в цикле, а для определения количества итераций используется длина массива. Этот цикл называют перебор массива. Для примера веведем по отдельности каждый элемент массива mas:

27
28
29
30
for (var i=0; i<mas.length; i++)
  {
  document.write('<br>'+i+' - '+mas[i]);
  }

Некоторые элементы в массиве могут отсутсвовать и это нужно учитывать в цикле.