Приднестровская поддержка XOOPS
Массив — это нумерованный набор переменных. Переменная в массиве называется элементом массива, а ее позиция в массиве задается индексом. Нумерация элементов массива начинается с 0, а не с 1. Это следует помнить. Общее количество элементов в массиве называется размером массива.
При инициализации массива переменные указываются через запятую в квадратных скобках:
Mass1 = [1, 2, 3, 4];
Получить значение элемента массива можно, указав его индекс в квадратных скобках:
Str = Mass1[0]; // Переменной Str будет присвоено значение 1
Листинг 11 демонстрирует создание массива и вывод значения элемента массива в окне Web-браузера.
Листинг 11. Массивы
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Массивы</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<script type="text/javascript">
<!--
var Mass1, Mass2;
Mass1 = [1, 2, 3, 4];
Mass2 = ["", "Январь", "Февраль", "Март", "Апрель", "Май", "Июнь",
"Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"];
document.write(Mass1[1] + " и " + Mass2[2]);
//-->
</script>
</body>
</html>
При желании можно добавить новый элемент массива или изменить значение существующего:
Mass1[5] = 6; Mass1[0] = 0;
В этом примере было создано два элемента массива и изменено значение существующего. Почему создано два элемента массива? Первый элемент с индексом 5 создан нами, а элемент с индексом 4 был создан автоматически и ему присвоено значение undefined (не определен), так как наш массив состоял только из 4 элементов, и последний определенный элемент имел индекс 3.
Любому элементу массива можно присвоить другой массив:
Mass1[0] = [1, 2, 3, 4];
В этом случае получить значение массива можно, указав два индекса:
Str = Mass1[0][2]; // Переменной Str будет присвоено значение 3
Следует учитывать, что операция присваивания сохраняет в переменной ссылку на массив, а не все его значения. Например, если попробовать сделать так
var Mass1, Mass2; Mass1 = [1, 2, 3, 4]; Mass2 = Mass1; // Присваивается ссылка на массив!!! Mass2[0] = "Новое значение"; document.write(Mass1.join(", ") + "<br>"); document.write(Mass2.join(", "));
то изменение Mass2 затронет Mass1, и мы получим следующий результат:
Новое значение, 2, 3, 4
Чтобы сделать копию массива, можно, например, воспользоваться методом slice (), который возвращает срез массива:
var Mass1, Mass2; Mass1 = [1, 2, 3, 4]; Mass2 = Mass1.slice(0); Mass2[0] = "Новое значение"; document.write(Mass1.join(", ") + "<br>"); document.write(Mass2.join(", "));
Результат:
Необходимо заметить, что при использовании многомерных массивов метод slice () создает "поверхностную" копию, а не полную:
var Mass1, Mass2;
Mass1 = [[0, 1], 2, 3, 4];
Mass2 = Mass1.slice(0);
Mass2[0][0] = "Новое значение1";
Mass2[1] = "Новое значение2";
В результате массивы будут вытлядеть так:
Mass1 = [["Новое значение1", 1], 2, 3, 4];
Mass2 = [["Новое значение1", 1], "Новое значенке2", 3, 4];
Как видно из примера, изменение вложенного массива в Mass2 привело к одновременному изменению значения в Mas si. Иными словами, оба массива содержат ссылку на один и тот же вложенный массив.
Более подробно мы рассмотрим массивы при изучении встроенного класса Array (см. разд. 15.5).
Отправитель | Нити |
---|
15 пользователь(ей) активно (8 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 15 далее... |