我正在尝试创建具有固定行数和非固定列数的 mtrix,如下所示。
var matrix=[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0,0 ]]
正在尝试这段代码
function matrix1(m, n) {
for ( m = 9;m>0;m--)
{
for (var n=m;n>0; n--)
{
return Array.from({
length: m
}, () => new Array(n).fill(0));
}
document.write("<br>");
}
};
var cols=9
var counter=9;
matrix(counter,cols);
我期待这段代码的输出是这样的
var matrix=[[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0],
[0, 0],
[0]]
并且得到的输出为
var matrix=[[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0]]
我的代码有什么问题?
最佳答案
只需对您的代码进行少量修改
function matrix(m, n) {
var arr = [];
for ( m = 9; m>0; m--)
{
for (var n = m;n>0; n--)
{
arr.push(new Array(n).fill(0))
}
return arr;
}
};
var cols=9
var counter=9;
console.log(matrix(counter,cols));
这会起作用
工作实例:https://jsbin.com/?html,js,output
希望这对您有所帮助。谢谢!
关于javascript - 如何创建具有固定行数和非固定列数的矩阵/数组数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39446439/