Лабораторная работа № 5
Массивы
JavaScript объекты
· Object(объекты)
· Number (обработка чисел)
· String (обработка строк)
· Array (массивы)
· Math (математические формулы, функции и константы)
· Date (работа с датами и временем)
· RegExp
· Global (его свойства Infinity, NaN, undefined)
· Function
Со всеми данными объектами мы познакомимся позже, с некоторыми из них мы частично уже знакомы.
Object — объект, который содержится во всех остальных объектах и обеспечивает их общую функциональность.
Объект function — функции являются объектами первого класса, т.е. могут присваиваться переменным, выступать аргументами других функций и быть результатом функций
Объявление новых объектов происходит одинаково, независимо от объекта:
var arr = new Object();
var str = new String();
var arr = new Array();
Как видно из примера, в JavaScript объявление массива происходит точно также, как и у других объектов.
JavaScript массивы, тип данных Array
В этой лабораторной работе подробнее рассмотрим объект массив.
Массив — упорядоченный набор данных.
Доступ к элементам массива осуществляется с помощью порядкового номера — индекса. Таким образом, массив — объект, представляющий собой проиндексированный набор элементов.
var arr = new Array(); arr[0] = "element1"; arr[1] = "element2"; arr[2] = "element3"; alert(arr[2]); alert("Число элементов" + arr.length); |
В javascript длина массива — свойство length.
Javascript создание массива
Создание элементов массива возможно несколькими способами:
1.
var earth = new Array(4); /* массив из 4-х элементов*/ earth[0] = "Планета"; earth[1] = "24 часа"; earth[2] = 6378; earth[3] = 365.25; |
2.
var earth = new Array("Планета", "24 часа", 6378, 365.25); |
3.
var earth = new Array(); // пустой массив earth.xtype = "Планета"; earth.xday = "24 часа"; earth.radius = 6378; earth.period = 365.25; |
4.
var country = ["Россия", "Белоруссия", "Казахстан"]; |
Javascript: работа с массивами
Обращение или доступ к элементам массива в JavaScript происходит так:
var mas=new Array(1,25,'Привет'); mas[0]='Пока'; mas[1]=35; |
Вывод элементов массива
Когда мы выводим массив в документ с помощью метода write, то его элементы выводятся через запятую.
1. Рассмотрим, как осуществляется в javascript вывод массива с использованием обычного цикла for:
var mas=new Array(1,25,'Привет'); mas[0]='Пока'; mas[1]=35; function showElement(){ for(i=0;i<3;i++) alert(mas[i]); } showElement(); |
2. Использование цикла for in для перебора элементов массива:
function showElement(){ for(var i in mas){ alert(mas[i]); } } showElement(); |
Задание 1. Создать два массива: countries – с названием стран, и population – с населением этих стран. Вывести название страны и ее население (использовать метод document.write)
Задание 2. Что выведет на экран следующий фрагмент кода?
var e = 1024; var table = [e, e + 1, e + 2, e + 3]; document.write(table); |
Пример: Что выведет на экран следующий фрагмент кода?
var arr = [1, 2, 3]; arr[5] = 5; for (var i = 0; i < arr.length; i++) { document.write(arr[i] + "<br />"); } |
В примере в строке arr[5] = 5; происходит расширение массива, в 5-й индекс заносится значение 5. Цикл заполняет элементы типом undefined, элементы которые мы не использовали — они остаются пустыми.
Удаление элементов массива
В Javascript удалить элемент массива можно при помощи оператора delete:
var myColors = new Array("red", "green", "blue"); delete myColors[1]; alert(myColors); // red,,blue |
Задание 3. Создать массив из трех элементов, значения элементов запрашивать у пользователя. Вывести элементы массива на экран, каждый элемент с новой строки
Свойства массива (Array) в javaScript
Массив – предопределенный объект. Доступ и обращение к элементам массива осуществляется при помощи точечной нотации (через символ «.»):
Название_объекта.свойство_объекта
Название_объекта.метод_объекта(параметры)
Пример: Вывести элементы массива на экран, в качестве конечного значения счетчика цикла использовать свойство length
for (var i = 0; i<arr.length;i++){ alert(arr[i]); } alert(arr.length); |
Поиск элемента в массиве
В javascript поиск элемента в массиве можно осуществить через функцию:
function findValue(theValue){ for (var i = 0; i<arr.length;i++){ if(arr[i] == theValue) break; // если нашли - выход из цикла } if (i<arr.length) // если не нашли, то i=arr.length return i //если нашли - возвращаем индекс else return 0; // если не нашли - возвращаем 0 } var elem=findValue("element2"); if (elem) alert ("элемент найден, его индекс="+elem) else alert("элемент не найден"); |
В примере функция, организованная для поиска элемента массива, имеет один аргумент (theValue) — значение искомого элемента массива. В случае нахождения элемента функция возвращает индекс найденного элемента, если элемент не найден — функция возвратит 0.
Задание 4. Создать массив, элементами которого являются названия дней недели. Выводить номер дня недели (номер элемента массива), содержащего введенное пользователем название дня недели (использовать функцию с параметром, которая возвращает значение номера)