Управление массивами
Создадим сценарий, который управляет массивом значений.
Создадим простой цикл, который запрашивает имена пользователей. После введения всех имен пользователей отобразим их в виде нумерованного списка. В самом начале программы объявим переменнные:
n=new Array()
i=0
Массив имен содержит имена пользователей, введенные Вами по запросу сценария. Поскольку мы не знаем, как много имен он будет содержать, поэтому не будем определять его размер. Переменная i используется в качестве счетчика цикла.
Для создания запроса на введение имен пользователей воспользуемся оператором prompt(). Чтобы автоматизировать процедуру ввода воспользуемся циклом do:
do{
s=prompt("Введите следующее имя","")
if (s>" ") n[i]=s
i=i+1
}
while(s>" ")
Этот цикл отображает запрос на введение значения строковой переменной s. После введения имени (и если оно больше пробела) оно сохраняется в виде следующего элемента массива n. Запрос отображается на экране до тех пор, пока пользователь не прекратит вводить имена или щелкнет на кнопке Cancel (Отмена).
Далее отобразим число введенных в массив имен:
document.write("<h2>"+(n.length)+" введенных имен.</h2>")
Данный оператор отображает свойство length массива имен n, для выразительности выделим заголовком второго уровня.
Далее отобразим все сохраненные в массиве имена в порядке их введения. Поскольку мы обрабатываем массив, воспользуемся циклом for ... in
Данный цикл мы еще не рассматривали, поэтому сначала поясним для чего необходим данный цикл:
Цикл for .. in более гибкий, нежели известные циклы for и while. Он специально разработан для выполнения операций над объектами. Как и обычный цикл for этот тип цикла требует использование индекса (i). Каждая итерация цикла приводит к определению переменной - индексу нового значения, соответствующего другому свойству объекта. Таким образом очень удобно управлять свойствами объектов.
Вернемся к нашему примеру:
document.write("<ol>")
for (i in n){
document.write("<li>"+n[i]+"<br>")
}
document.write("</ol>")
Теперь у нас есть цикл for .. in, который позволяет просматривать элементы массива. Счетчик принимает значения номеров элементов массива. Имя пользователя распечатывается с тегом <li>, представляющим элемент массива в виде элемента упорядоченного списка.
Учитывая все выше сказанное, готовая программа будет выглядеть следующим образом:
<html>
<head>
<title>Управление массивами</title>
</head>
<body>
<h1>Пример управления массивами</h1>
<p align="center">
Введите несколько имен. Они будут отображены в виде упорядоченного списка.
<script language="JavaScript1.2">
n=new Array()
i=0
do{
s=prompt("Введите следующее имя","")
if (s>" ") n[i]=s
i=i+1
}
while (s>" ")
document.write("<h2>"+(n.length)+" введенных имен</h2>")
document.write("<ol>")
for (i in n){
document.write("<li>"+n[i]+"<br>")
}
document.write("</ol>")
</script>
</body>
</html>
При выполнении программы выдается запрос:
Пусть пользователем введено 3 имени: Катя, Лена, Вася. На экране броузера отобразится сообщение:
Если же пользователем не введено не одного имени, то на экране броузера отобразится следующая информация: