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>

Вот что выдаёт этот скрипт в браузере:

скриншот

Рейтинг@Mail.ru

вверх гостевая; E-mail
Hosted by uCoz