Многомерные массивы. JavaScript не поддерживает «настоящие» многомерные массивы, но позволяет неплохо имитировать их при помощи массивов из массивов
JavaScript не поддерживает «настоящие» многомерные массивы, но позволяет неплохо имитировать их при помощи массивов из массивов. Для доступа к элементу данных в массиве массивов достаточно использовать оператор [] дважды.
Например, предположим, что переменная matrix – это массив массивов чисел.
Любой элемент matrix[x] – это массив чисел. Для доступа к определенному числу в массиве надо написать matrix[x][y]. Вот конкретный пример, в котором двухмерный массив используется в качестве таблицы умножения:
//Создать многомерный массив
var table = new Array(10);// В таблице 10 строк
for(var i = 0; i < table.length; i++)
table[i] = new Array(10);// В каждой строке 10 столбцов
for(var row = 0; row < table.length; row++) {
for(col = 0; col < table[row].length; col++) {
table[row][col] = row*col; // Инициализация массива
}
}// Расчет произведения 5*7 с помощью многомерного массива
var product = table[5][7];// 35
Типичным примером двухмерного массива является массив опций меню. У такого меню есть горизонтальная панель с опциями, называемая главным меню. Некоторым опциям главного меню соответствуют раскрывающиеся вертикальные подменю со своими опциями. Мы создаем массив, длина которого равна количеству опций главного меню. Элементы этого массива определяем как массивы названий опций соответствующих подменю.
Чтобы была ясна структура нашей конструкции, выберем названия опций надлежащим образом. Например, "Меню 2.1" — название 1-й опции подменю, соответствующего 2-й опции главного меню.
menu = new Array()
menu[0] = new Array ("Меню 1.1", "Меню 1.2", ", "Меню 1.3")
menu[l] = new Array("Меню 2.1", "Меню 2 . 2 " )
menu[2] = new Array ("Меню 3.1", "Меню 3 . 2 " , "Меню 3 . 3 " , "Меню 3.4")
Чтобы обратиться ко 2-й опции 3-го подменю, следует написать:
menu[2][l] // значение равно "Меню 3 . 2 "
Усложним нашу конструкцию, чтобы она содержала не только названия опций подменю, но и названия опций главного меню:
menu = new Array()
/* Массив опций главного меню: */
menu[0] = new Array("Меню1", "Меню2", "МенюЗ")
menu[l] = new Array()
menu[l][0] = new Array("Меню 1.1". "Меню 1.2", "Меню 1.3")
menu[l][l] = new Array("Меню 2.1", "Меню 2 . 2 " )
menu[l][2] = new Array("Меню 3.1", "Меню 3 . 2 " , "МенюЗ.3", "Меню 3.4")
menu[0][l] // значение равно "Меню 2"
menu[0][2]// значение равно "Меню 3"
menu[l][1][0]// значение равно "Меню 2.1"
menu[1][2][3] //значение равно "Меню 3 . 2 "
Дата добавления: 2015-08-01; просмотров: 774;