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>
Вот что выдаёт этот скрипт в браузере:
гостевая; E-mail |