Массив – это последовательность элементов, каждый из которых имеет порядковый номер в последовательности – индекс и значение (логическое, число, строку или другое).
Пример 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>Массивы</title> </head> <body> <script> // Объявляется массив из 3 элементов var massiv = ['Пять', 'Два', 'Три']; //Изменяется значение первого элемента массива massiv[0] = 'Один'; // Добавляется четвёрый элемент массива massiv[3] = 'Четыре'; //Выводится "Один,Два,Три,Четыре" alert(massiv); </script> </body> </html> |
С помощью команды “var” объявляется массив с именем “massiv” как последовательность 3 строк. При объявлении последовательность элементов массива записывается в квадратных скобках (“[” и “]”), в которых значения элементов идут через запятую. В скобках может не быть значений, тогда массив называется пустым.
Для получения значения элемента массива нужно записать имя массива и далее в квадратных скобках указать индекс (порядковый номер) элемента. Элементы нумеруются с 0. После команды “var” в данном примере первому элементу массива с индексом 0 присваивается значение “Один”. В это время массив имеет 3 элемента – последний элемент имеет индекс 2. Потом элементу с индексом 3 присваивается значение “Четыре”. Так как такого индекса в массиве ещё нет, то элемент с индексом 3 добавляется в массив.
В конце примера массив из 4 элементов выводится на экран.
Пример 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>Массивы</title> </head> <body> <script> // Объявляется массив var chisla = [23, 45, 4, 28, 91, 48, 2]; // Объявляется сумма элементов массива var summa = 0; // Перебираются все элементы массива for(var i = 0; i < chisla.length; i++) // К сумме добавляется очередной элемент массива summa += chisla[i]; //Выводится "241" alert(summa); </script> </body> </html> |
Объявляется массив “chisla” с числовыми значениями. Объявляется переменная “summa”, которая будет содержать сумму значений массива “chisla”. В начале “summa” равна 0. Функция “length” массива содержит количество его элементов – длину массива. Далее в данном примере в цикле перебираются элементы массива “chisla” и их значения добавляются к переменной “summa”. В конце выводится сумма значений элементов массива.
Пример 3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>Массивы</title> </head> <body> <script> // Объявляется массив var chisla = ['Один', 'Два', 'Три', 'Четыре']; // Объявляется строка для описания массива var stroka = ''; // Перебираются все элементы массива chisla.forEach(function(element, index) { // Индекс элемента увеличивается на 1 index++; /* К строке добавляется индекс и значение элемента */ stroka += index + ': ' + element + '\n'; }); /* Выводится: 1: Один 2: Два 3: Три 4: Четыре */ alert(stroka); </script> </body> </html> |
В данном примере для перебора элементов массива используется функция “forEach(f);”, где “f” – имя описанной до этого функции или описание функции, в котором имя функции можно пропустить. При этом у функции первый параметр – текущий элемент массива; а второй, необязательный, – индекс этого элемента в массиве.
Функции для работы с массивами
i = 1 … n. Для функций используется массив:
1 |
var chisla = ['Один', 'Два', 'Три', 'Четыре']; |
length – количество элементов массива – длина массива.
1 2 |
// Выводится "4" alert(chisla.length); |
push(el1, el2, …, eln) – добавляет элементы eli в конец массива.
1 2 3 |
chisla.push('Пять', 'Шесть'); // Выводится "Один,Два,Три,Четыре,Пять,Шесть" alert(chisla); |
pop() – возвращает и удаляет из массива последний элемент.
1 2 |
// Выводится "Четыре" alert(chisla.pop()); |
unshift(el1, el2, …, eln) – добавляет элементы eli в начало массива.
1 2 3 |
chisla.unshift('Пять', 'Шесть'); // Выводится "Пять,Шесть,Один,Два,Три,Четыре" alert(chisla); |
shift() – возвращает и удаляет из массива первый элемент.
1 2 |
// Выводится "Один" alert(chisla.shift()); |
splice(index, kolichestvo, el1, el2, …, eln) – удаляет начиная с индекса “index” элементы количеством “kolichestvo” и вставляет начиная с позиции “index” элементы eli. Если элементы eli не указаны, то происходит только удаление. Если “kolichestvo” равно 0, то происходит только добавление. Если “kolichestvo” и элементы eli не указаны, то происходит удаление начиная с индекса “index” до конца строки. Возвращает массив удалённых элементов.
1 2 3 4 5 |
var elementi = chisla.splice(2, 2, 'Пять', 'Шесть', 'Семь'); // Выводится "Один,Два,Пять,Шесть,Семь" alert(chisla); // Выводится "Три,Четыре" alert(elementi); |
concat(massiv) – возвращает объединение массивов: вызывающего функцию и в параметре “massiv”.
1 2 3 4 |
var dalee = ['Пять', 'Шесть', 'Семь']; var vmeste = chisla.concat(dalee); // Выводится "Один,Два,Три,Четыре,Пять,Шесть,Семь" alert(vmeste); |
sort() – сортирует элементы массива в алфавитном порядке.
1 2 3 |
chisla.sort(); // Выводится "Два,Один,Три,Четыре" alert(chisla); |
reverse() – меняет порядок элементов массива на обратный.
1 2 3 |
chisla.reverse(); // Выводится "Четыре,Три,Два,Один" alert(chisla); |
indexOf(el) – возвращает индекс элемента “el”. Если элемент не найден, то возвращает -1 (минус единица).
1 2 |
// Выводится "2" alert(chisla.indexOf('Три')); |
join(razdelitel) – возвращает строку с элементами массива, разделённых разделителем “razdelitel”.
1 2 |
// Выводится "Один - Два - Три - Четыре" alert(chisla.join(' - ')); |