БлогNot. Матрица на Javascript

Матрица на 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.

 Полная статья - на сайте

P.S. В новых версиях JavaScript можно и просто

<pre id="matr2"></pre>
<script>
let arr = [
 [1,2,3,4],
 [5,6,7,8],
 [9,10,11]
];
let s = '';
for (let i=0; i<arr.length; i++) {
 let len = arr[i].length;
 for (let j=0; j<len; j++) {
  s += String(arr[i][j]).padStart(5,' ') + (j<len-1 ? ' ' : '');
 }
 s += "\n";
}
document.getElementById('matr2').innerHTML = s;
</script>

В элементе matr2 будет выведено:

    1     2     3     4
    5     6     7     8
    9    10    11


теги: javascript алгоритм html

25.06.2010, 12:34; рейтинг: 12236