javascript - 如何创建具有固定行数和非固定列数的矩阵/数组数组?

标签 javascript jquery arrays

我正在尝试创建具有固定行数和非固定列数的 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/

相关文章:

javascript - 仅显示最后一个元素

javascript - Kendo 下拉默认选择

javascript - 带标签的 Kendo 图表模板,内部显示 html 标签

javascript - jQuery UI 事件功能扩展

javascript - jquery slider 和 amchart 的问题

javascript - Angular 9 如何从 Angular 数组对象的所有数组中删除一个字段?

javascript - 隐藏/显示值(value)图表

javascript - 带有返回值的函数的数组

java - 成绩簿 Java 程序。帮忙打电话上课吗?

C编程数组大层次