ПРАКТИЧЕСКАЯ РАБОТА № 26
Цель: изучить синтаксис создания массивов в JavaScript, методы и свойства; рассмотреть работу с массивом как с очередью, стеком.
Javascript поддерживает два вида структуры "массив":
- Ассоциативный массив (хеш), где данные хранятся по произвольному ключу (Object).
- Числовой массив Array, где данные хранятся по номерам.
Есть два эквивалентных способа создания массива:
|
|
Отсчет элементов начинается с нуля:alert(a[0]) // => "a"
Массив – это объект, где в качестве ключей выбраны цифры, с дополнительными методами и свойством length. У каждого массива есть свойство length, которое автоматом меняется при каждом обновлении массива. Длина массива - это не количество элементов, а максимальный целый ключ + 1:
Пример 1: var a = []; a[1] = 1; a[999999] = 2; alert(a.length); // всего 2 элемента, но выведет 1000000 | Пример 2. Перебор элементов vararr = ["Яблоко", "Апельсин", "Груша"]; for (var i = 0; i < arr.length; i++) { alert(arr[i]); } |
Массив Javascript – разновидность объекта, которая предназначена для хранения пронумерованных значений и предлагает дополнительные методы для удобного манипулирования такой коллекцией.
Метод | Описание |
join() | Выполняет конкатенацию всех элементов массива в одну строку. Вызов arr.join(str), используя str как разделитель. |
reverse() | Изменяет порядок элементов массива на обратный. |
sort() | Сортирует элементы массива. |
concat() | Метод arr.concat(value1, value2, … valueN) создаёт новый массив, в который копируются элементы из arr, а также value1, value2,... valueN. |
slice() | Метод slice(begin, end) копирует участок массива от begin до end, не включая end. |
splice() | Вставляет элементы в массив и удаляет элементы из массива. arr.splice(index[, deleteCount, elem1,..., elemN])Удалить deleteCount элементов, начиная с номера index, а затем вставить elem1,..., elemN на их место. Возвращает массив из удалённых элементов. |
push() | Добавляет элементы в конец массива. |
рор() | Удаляет последний элемент массива. |
unshift() | Добавляет элементы в начало массива. |
shift() | Удаляет начальные элементы массива. |
toString() | Преобразует элементы в строку. |
split(s) | Позволяет превратить строку в массив, разбив ее по разделителю s |
Методы shift() и unshift() работают значительно медленнее, чем push() и pop().
Задание 1. Работа с массивом:
1.1 Создайте массив styles с элементами «Джаз», «Блюз».
1.2 Добавьте в конец значение «Рок-н-Ролл»
1.3 Замените предпоследнее значение с конца на «Классика». Код замены предпоследнего значения должен работать для массивов любой длины.
1.4 Удалите первое значение массива и выведите его alert.
1.5 Добавьте в начало значения «Рэп» и «Регги».
Результат работы скрипта:

Задание 2. Напишите код для вывода alert случайногозначения из массива. Код для генерации случайного целого от min to max включительно: varrand=min+Math.floor(Math.random()*(max+1-min));
Задание 3. Напишите код, который:
3.1 Запрашивает по очереди значения при помощи prompt и сохраняет их в массиве.
3.2 Заканчивает ввод, как только посетитель введёт пустую строку, не число или нажмёт «Отмена».
3.3 При этом ноль 0 не должен заканчивать ввод, это разрешённое число.
3.4 Выводит сумму всех значений массива
Задание 4. Создайте функцию find(arr, value), которая ищет в массиве arr значение value и возвращает его номер, если найдено, или -1, если не найдено.
Пример:
arr=["test",2,1.5,false]; find(arr,"test");// 0find(arr,2);// 1find(arr,1.5);// 2 find(arr,0);// -1
Задание 5. Сервис отсылки сообщений и посетитель вводит имена тех, кому его отправить: Маша, Петя, Марина, Василий.... Организовать массив имен из строки.
Задание 5*.
5.1 Сортировать массив имен.
5.2 Сортировать массив чисел.
Контрольные вопросы:
1. Способы создания массива в JavaScript
2. Как создать пустой массив?
3. Как вернуть 5 элемент массива?
4. Что такое length?
5. Как удалить последний элемент массива?
6. Как добавить первый элемент массива?
7. Как преобразовать строку в массив?
8. Как сортировать массив?
9. Особенность сортировки численных массивов.
Отчет должен содержать:
1. Тему, цель
2. Условие задания. Программный код с сценарием JavaScript. Результаты работы программы.
3. Ответы на контрольные вопросы.
4. Вывод.
На защиту предоставить: файлы (html, js) выполненных заданий в электронном виде и примеры сценариев, записанные в конспект с комментарием.