【问题标题】:How can I add multi-dimensional arrays in javascript like this我怎样才能像这样在javascript中添加多维数组
【发布时间】:2021-09-22 17:26:12
【问题描述】:

我正在开发一个用户必须输入数字的 javascript 迷你项目。

那个数字是坐标的端点。我将存储在数组中的最后一个坐标格式为 [number, number]

例如,这个数字是 3。

我必须将它存储在一个数组中。

[1,1], [1,2], [1,3], [2,1], [2,2], [2,3], [3,1], [3,2] , [3,3]

例如,如果数字为 4,则数组需要如下所示: [1,1], [1,2], [1,3], [1,4], [2,1], [2,2], [2,3], [2,4] [3, 1]、[3,2]、[3,3]、[3,4]、[4,1]、[4,2]、[4,3]、[4,4]

我希望你明白我的需要。有什么帮助吗?

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: javascript arrays


【解决方案1】:

你只需要两个嵌套循环就可以了。在下面的代码中,i 变量代表小数组元素中的第一个数字,而j 代表第二个。对于i 的每个值,j 将运行n 次并生成您想要的数组,如下所示:

let n = 3;
let arr = [];

for(let i=1; i<=n; i++){
    for(let j=1; j<=n; j++){
    arr.push([i, j]);
  }
}

console.log(arr);

【讨论】:

    【解决方案2】:

    请使用以下javascript代码sn-p。

    num = 5
    arr=[]
    for(i=1;i<=num;i++){
      for(j=1;j<=num;j++){
        temparr=[i,j]
        arr.push(temparr)
      } 
    }
    console.log(arr)

    【讨论】:

    • 谢谢!它有效
    • 确保使用letconst 正确声明所有变量!
    【解决方案3】:

    希望这段代码对你有所帮助

    const n = 5;
    var array = Array(n).fill(0).map((o,index)=>o+index+1);
    array.map(o=>arr1.flatMap(e=>[[o,e]]));
    

    【讨论】:

    • 您应该使用编辑窗口中的 [] 工具制作一个有效的 sn-p,并尝试解释您的代码的作用,因为我想如果 OP 不了解循环它们'我肯定不会理解 mapflatMap 这样的概念。添加一些指向 MDN 文档的链接。让它成为一个很好的答案,而不仅仅是一个令人困惑的代码转储。
    【解决方案4】:

    使用嵌套循环...试试这个

    
    function generateArray(int) {
      let array = [];
      let initial = 1;
      let numbers = [];
      while (initial <= int) {
        numbers.push(initial);
        initial++;
      }
      let finalArr = [];
      numbers.forEach(number => {
        let i = 1;
        while (i <= numbers.length) {
          array.push([number, i]);
          i++;
        }
      });
      return array;
    }
    
    console.log(generateArray(4))
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-12
      • 1970-01-01
      • 1970-01-01
      • 2014-12-31
      • 1970-01-01
      • 1970-01-01
      • 2018-11-29
      • 1970-01-01
      相关资源
      最近更新 更多