|
Pers.narod.ru. Javascript. Как на Javascript работать с двумерными матрицами? |
Всё, что нужно для решения задачи - описать матрицу как массив массивов в виде
var a=new Array (
new Array ('1-1','1-2','1-3','1-4'),
new Array ('2-1','2-2','2-3','2-4'),
new Array ('3-1','3-2','3-3','3-4'),
new Array ('4-1','4-2','4-3','4-4'),
new Array ('5-1','5-2','5-3','5-4')
);
- здесь существенно то, что каждая строка массива a тоже представляет собой массив, причём явно созданный конструктором new. После этого мы можем спокойно обращаться к отдельным элементам матрицы в стиле языка Си, то есть, в виде a[i][j], а количество строк матрицы и количество элементов в любой строке можно узнать через стандартное свойство length.
Разумеется, интерпретатору Javascript не важно, из строк или чисел Вы строите матрицу, хотя всё равно не нужно забывать о строковом или числовом контексте.
Ниже приводится законченный пример, строящий по матрице её "изображение" в виде таблицы HTML. Пример следует сохранить как файл с расширением .html.
<HTML><HEAD><TITLE>Таблица на Javascript</TITLE>
<SCRIPT type="text/javascript">
<!--
function table (a) { //Вывод матрицы в таблицу HTML
var rows=a.length, cols;
document.writeln ('<table width="90%" cellpadding="4" cellspacing="0" border="1" align="center">');
for (i=0; i<rows; i++) {
document.writeln ('<tr>');
cols=a[i].length;
for (j=0; j<cols; j++) {
document.writeln ('<td>'+a[i][j]+'</td>');
}
document.writeln ('</tr>');
}
document.writeln ('</table>');
}
// -->
</SCRIPT>
</HEAD>
<body>
<SCRIPT type="text/javascript">
var a=new Array ( //Создание матрицы
new Array ('1-1','1-2','1-3','1-4'), //Строки тоже созданы как массивы!
new Array ('2-1','2-2','2-3','2-4'),
new Array ('3-1','3-2','3-3','3-4'),
new Array ('4-1','4-2','4-3','4-4'),
new Array ('5-1','5-2','5-3','5-4')
);
table (a); //Построение таблицы
</SCRIPT>
</BODY>
</HTML>
Вот что выдаёт этот скрипт в браузере:

|
|