Многомерные массивы — это массивы, элементами которых являются другие массивы. Вместо обычных элементов, таких как строки ("str"), числа (123) или других значений, в многомерном массиве находятся массивы, содержащие свои собственные элементы. Эти вложенные массивы могут иметь различную длину. Мы рассмотрим двумерные массивы (массив массивов), хотя существуют также трёхмерные, четырёхмерные и массивы более высокой размерности. Разница между ними заключается в количестве уровней вложенности — массив в массиве в массиве и т.д. Двумерные массивы используются часто, трёхмерные — реже, и частота использования уменьшается с ростом размерности. Теоретически, можно создавать массивы сколь угодно высокой размерности.
Создание двумерного массива
Создадим двумерный массив. Сначала создадим три массива:
let r1 = [];
let r2 = [];
let r3 = [];
Затем, используя циклы, заполним эти массивы значениями:
for (let i = 0; i < 5; i++) {
r1[i] = i;
}
for (let i = 0; i < 10; i++) {
r2[i] = i;
}
for (let i = 0; i < 15; i++) {
r3[i] = i;
}
Каждый из этих массивов имеет различную длину и содержит свои собственные элементы. Теперь создадим новый массив r, который будет содержать эти три массива в качестве своих элементов:
let r = [r1, r2, r3];
Массив r — это двумерный массив, так как его элементами являются другие массивы. Если бы элементы r1, r2 и r3 сами были массивами, то r был бы трёхмерным массивом.
Доступ к элементам двумерного массива
Для доступа к элементу двумерного массива необходимо использовать два индекса: первый указывает на внешний массив, а второй — на элемент внутри вложенного массива. Например, для доступа к четвёртому элементу (индекс 3) первого массива (индекс 0) в массиве r, следует использовать следующий код:
r[0][3];
Также можно обратиться к последнему элементу массива, используя его длину:
r[0][r[0].length - 1];
Вывод двумерного массива
Для вывода элементов двумерного массива используем два вложенных цикла:
for (let x = 0; x < r.length; x++) {
for (let j = 0; j < r[x].length; j++) {
document.write(r[x][j] + " ");
}
document.write("<br>");
}
Первый цикл перебирает внешние массивы (в нашем случае, три массива), а второй цикл перебирает элементы внутри каждого из этих массивов. document.write("<br>"); добавляет перевод строки после каждого внутреннего цикла для форматированного вывода.
Работа с двумерными массивами аналогична работе с одномерными. Для выполнения операций, таких как суммирование элементов, можно использовать те же методы, что и для обычных массивов, применяя вложенные циклы для перебора элементов. Понимание принципов работы с двумерными массивами является важным шагом в изучении JavaScript.