А теперь остановимся на очень важной и значительной теме — массивы в JavaScript. Массивы являются одним из наиболее полезных способов организации и хранения данных. Самый простой массив представляет из себя одномерную таблицу, где в каждом столбце содержаться данные, при этом каждый столбец пронумерован. Для нумерации столбцов массива используется строгая числовая последовательность, в которой первый столбец имеет нулевой номер. Такие номера столбцов называются индексами. Чтобы получить доступ к элементу массива, необходимо знать имя массива и номер столбца нужного элемента массива. Поскольку значения индексов начинаются с нуля, то общее количество элементов массива(определяется свойством массива length) всегда на единицу больше самого большого индекса в массиве.
Массив определяется с помощью переменной. Поэтому при создании массива, переменной присваивается объект нового массива. При объявлении массива используется ключевое слово new, которое помогает вызвать специальную функцию JavaScript, генерирующую массив и выделяющую для него место в памяти Array(). Необязательный параметр функции позволяет указать, еще на этапе создания, орентировочное количество элементов, зарезервированных в данном массиве.
имя_массива = new Array([длина массива])
Здесь длина массива является необязательным числовым параметром, о чем говорят квадратные скобки. Если длина массива не указана, то создается пустой массив, не содержащий ни одного элемента. В противном случае создается массив с указанным количеством элементов, однако все они имеют значение null (то есть не имеют значений).
Вы можете сначала создать пустой массив, а затем добавить к нему нужное количество элементов с помощью оператора присвоения. Заметим, что выражение с ключевыми словами new Array создает экземпляр (копию) объекта Array.
У объекта Array имеется свойство length, значением которого является длина массива. Чтобы получить значение этого свойства, необходимо использовать выражение:
имя_массива.length
Создав массив, можно присвоить значения его элементам, используя для этого оператор присвоения. В левой части оператора присвоения указывается имя массива, а рядом с ним в квадратных скобках индекс элемента. Мы уже говорили, что к элементам массива обращаются по индексу:
имя_массива[индекс]
Здесь квадратные скобки обязательны.
Рассмотрим пример. Cоздадим массив myavto, состоящий из 5 элементов и содержащий в качестве элементов некоторые характеристики автомобиля.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Методы String</title>
<script language="JavaScript">
myavto=new Array()
myavto[0]="Марка автомобиля "
myavto[1]="ВАЗ "
myavto[2]="модель 2110 "
myavto[3]="цена 200000 рублей "
myavto[4]=2008+" г.в."+"<br>"
myavto.length
document.write(myavto+"<br> массив из "+myavto.length+" элементов")
</script>
</head>
<body>
</body>
</html>
Элементы массива содержат строковые и числовые типы данных. Если нам потребуется значение 4-го элемента массива, то достаточно использовать выражение myavto[3] и т.д.
В окне веб-браузера это будет выглядеть ТАК.
Рассмотрим другой способ создания массива, посредством определения элементов в круглых скобках за ключевым словом Array.
<script language="JavaScript">
myavto=new Array("Марка автомобиля, "+"ВАЗ, "+"модель 2110, "+"цена 200000 рублей, "+2008+" г.в.")
myavto.length
document.write(myavto+"<br>"+"массив из "+myavto.length+" элементов"+"<br>")
</script>
В окне веб-браузера это будет выглядеть ТАК.
JavaScript автоматически создает индексы для элементов массива, так что к элементам массива, созданного таким способом, также можно обращаться по индексам.
Третий способ создания массива — присвоить имя каждому элементу, подобно имени свойства объекта.
<script language="JavaScript">
myavto=new Array() //пустой массив
myavto.a="Марка автомобиля, "
myavto.b="ВАЗ, "
myavto.b1="модель 2110, "
myavto.c="цена 200000 рублей, "
myavto.c1=2008+" г.в."+"<br>"
myavto.length
document.write(myavto.a+myavto.b+myavto.b1+myavto.c+myavto.c1+"<BR>"+"массив из "+myavto.length+" элементов"+"<br>")
</script>
В этом случае обращение к элементу происходит как к свойству объекта, например myavto.c. Возможен и такой вариант: myavto["a"]. Однако по индексу к элементам в таком массиве обращаться нельзя.
В окне веб-браузера это будет выглядеть ТАК.
А теперь, давайте сделаем тоже самое, но с использованием оператора цикла for и посмотрим,что получится.
<script language="JavaScript">
myavto=new Array()
myavto[0]="Марка автомобиля "
myavto[1]="ВАЗ "
myavto[2]="модель 2110 "
myavto[3]="цена 200000 рублей "
myavto[4]=2008+" г.в."+"<br>"
for (i=0;i<5;i++) {
document.write(myavto[i]+ "<br>")
}
</script>
В этом цикле происходит выполнение команды document.write(myavto[i]+ "<br>"). Она выполняется 5 раз. Переменная i пробегает значения от 0 до 4. Внутри цикла мы обращаемся к элементам массива при помощи myavto[i].
В окне веб-браузера это будет выглядеть ТАК.