Управление массивами

  Создадим сценарий, который управляет массивом значений.

  Создадим простой цикл, который запрашивает имена пользователей. После  введения всех имен пользователей отобразим их в виде нумерованного списка. В самом начале программы объявим переменнные:

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 имени: Катя, Лена, Вася. На экране броузера отобразится сообщение:

Если же пользователем не введено не одного имени, то на экране броузера отобразится следующая информация: