[目前正在研究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 ], [], [] ]
我为这里的问题感到困惑。任何建议/更正将不胜感激。
您可以使用两个嵌套的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))