【发布时间】:2017-03-08 19:36:31
【问题描述】:
我需要在JS中做一个简单的对角矩阵,应该是这样的:
[
[4, 7, 9],
[2, 5, 8],
[1, 3, 6]
]
我的想法是使用二维数组和两个循环,但我得到的结果是一个空数组。您将在下面看到我的代码的样子,但显然我的值有问题。
function fillMatrix(n) {
var matrix = [];
var rows = 0;
var cols = 0;
var startCount = 1;
for (var i = (n - 1); i >= 0; i--) {
rows = i;
cols = 0;
matrix[rows] = [];
while (rows < n && cols < n) {
matrix[rows++][cols++] = startCount++;
}
for (var j = 0; j < n; j++) {
rows = j;
cols = 0;
matrix[rows] = [];
while (rows < n && cols < n) {
matrix[cols++][cols++] = startCount++;
}
}
}
return matrix;
}
n = +prompt();
console.log(fillMatrix(n));
【问题讨论】:
-
我不确定什么是“对角矩阵”或者你的代码试图做什么。您能否就它的工作原理以及一些示例输入/预期输出添加一些解释?
-
你好,这就是我所说的“对角矩阵”link。这个想法是输入行数/列数(n)并在控制台中按以下顺序打印一个数组:[4,7,9] [2,5,8] [1,3,6];
标签: javascript matrix multidimensional-array