Веб-орієнтована розробка програмного забезпечення ЗПі-81-20210115T104851Z-001 / Лекція 3 Застосування масивів javaScript
.docxТема: “Работа с массивами.”
Теоретические сведения.
Массивы и их обработка (Класс массива Array)
Массивы представляют собой набор последовательно проиндексированных элементов.
Создание массивов
Массивы можно заполнить при инициализации или после объявления переменной.
Смена типа данных переменной
Как Вы помните .на ECMAScript тип данных переменной определяется при присвоении ей какого-либо значения. Массивы определяются точно таким же образом.
Для создания массива переменной присваивается конструкция «new Array()».
var a; // Объявляем переменную.
a = new Array(); // Указываем её тип.
Создать массив можно и сразу же при инициализации переменной.
var a = new Array(); // Инициализируем переменную.
Заполнение массива данными
По умолчанию массив создаётся безмерным, то есть его размер никак не указывается и определяется лишь при заполнении массива. Другими словами, при выполнении такого кода размер массива «a» будет составлять два элемента, а массива «b» — 4 элемента (к конкретному элементу массива можно обратиться, взяв его индекс в квадратные скобки).
var a; // Объявляем переменную.
a = new Array(); // Указываем её тип.
a[0] = 10; // Заполняем массив данными.
a[1] = true;
var b = new Array(); // Инициализация переменной.
b[0] = 'Some text'; // Сохранение значений в массиве.
b[1] = 10 + 20;
b[2] = false;
b[3] = a; // Сохранение в массиве ещё одного массива.
Обратите внимание, что индексы элементов массива исчисляются от нуля, то есть в массиве «a» длиной в два элемента первый элемент имеет индекс нуль, а второй — один. Другими словами, индекс последнего элемента массива всегда на 1 меньше длины массива.
Ещё важно то, что разные элементы массива могут сохранять данные различных типов, например, у нас в массиве «a» сохранены число и логическое значение, а в массиве «b» — строка, число, логическое значение и целый массив. Поскольку в ECMAScript типов данных нет, всё перечисленное является возможным.
Также, обратите внимание, что третьему элементу массива «b[3]» сопоставлен массив «a». Вы можете обратиться к элементам вложенного массива таким образом:
b[3][1] = false; // Обращение к вложенному массиву.
То есть, если какой-либо из элементов массива представляет собой массив, перечисляем индексы последовательно в квадратных скобках.
Массивы можно заполнять и при инициализации. Для этого в круглых скобках через запятую перечисляются значения элементов массива.
var c = new Array('Текст', 10 / 3, new Array(5, 15)); // Заполнение массива при инициализации.
Теперь у нас создан массив на три элемента, и последний второй элемент массива представляет собой ещё один массив на два элемента.
Обработка массивов
Удобнее всего работать с массивами используя циклы. Узнать длину массива можно с помощью свойства «length». Свойство «length» возвращает длину массива, то есть количество элементов в массиве.
Создав пройстой цикл for от нуля до (массив.length - 1), можно получить доступ ко всем элементам массива. Ещё помните, что индекс последнего элемента массива всегда на единицу меньше длины массива?
var d = new Array('Текст', 10 / 3, 5 * 2); // Заполняем массив значениями.
for (var i = 0; i < d.length; i++) // Создаём цикл.
alert(d[i]);//Выводим элемент массива в диалоговом окне.
Вы можете посмотреть, как же выполнится приведённый код.
При выполнении такого цикла будут выведены три окошка alert с содержимым элементов массива. В первом из окошек будет выведен строковой литерал, сохранённый в нулевом элементе, во втором — число, сохранённое в первом элементе, в третьем — число, сохранённое во втором эелменте. Обратите внимание, что в цикле у нас переменная «i» меняется от нуля до двух, так как «d.length» равно трём.
Рекомендую Вам перечитать предыдущий абзац ещё раз, так как в нём содержатся фундаментальные положения по обработке массивов.
Сортировка массивов
Массивы сортируются с помощью метода «sort()».
Метод «sort()» возвращает массив, отсортированный по алфавиту. То есть, если мы хотим получить отсортированный массив, мы должны присвоить возвращаемое значение какой-либо переменной. Например:
var e = new Array('Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'); // Заполняем массив значениями.
var f = e.sort(); // Сохраняем в новой переменной отсортированный по алфавиту массив.
for (var i = 0; i < f.length; i++) // Создаём цикл.
alert(f[i]);//Выводим элемент массива в диалоговом окне.
Вы можете посмотреть, как же выполнится приведённый код.
При выполнении такого цикла будут выведены семь окошка alert с днями недели, отсортированными по алфавиту.
Резюме:
Массивы определяются как последовательно проиндексированные значения.
Длина массива на единицу больше индекса последнего элемента.
Массивы удобно обрабатывать в циклах.
Массивы сортируются методом «массив.sort()».