Javascript-生成数组对

问题描述 投票:0回答:1

[目前正在研究Javascript,并正在应对挑战并遇到障碍。这个挑战需要创建一个接受整数的函数,并生成一个包含整数对[a,b]的数组。该对应该按照a的值递增,然后b的值递增排序。

generatePairs(1)//返回[[0,0],[0,1],[1,1]]

我的代码在下面:

    function generatePairs(num){
  var arr = [[],[]];
  for(let i = 0; i <=num; i++){
    arr.unshift([i])
    console.log(arr);

    for(j=0; j<num; j++){

      arr.unshift(arr[[i],[j]]);
      console.log(arr);
    }

  }
  return arr;
}

这是我的结果-

[ [ 0 ], [], [] ]
[ [ 0 ], [ 0 ], [], [] ]
[ [ 1 ], [ 0 ], [ 0 ], [], [] ]
[ [ 1 ], [ 1 ], [ 0 ], [ 0 ], [], [] ]
=> [ [ 1 ], [ 1 ], [ 0 ], [ 0 ], [], [] ]

我为这里的问题感到困惑。任何建议/更正将不胜感激。

javascript arrays
1个回答
0
投票

您可以使用两个嵌套的for循环来做到这一点:

function generatePairs(num){
  let v = []
  
  for (let i=0; i <= num; i++) {
    for (let j=i; j <= num; j++) {
        v.push([i, j])
    }
  }
  
  return v
}

console.log(generatePairs(3))
© www.soinside.com 2019 - 2024. All rights reserved.