下划线mixin和下面的函数以两种不同的方式完成相同的事情,它们获取数组的所有对。我想知道如何创建一个函数(闭包?),使我能够传递多少个“对”或我想要的数组项目,而不是每次嵌套for loops
或range-maps
。以编程方式生成嵌套for循环
getPairs: function(arr){
return _.chain(_.range(arr.length))
.map(function(setOne){
return _.chain(_.range(arr.length))
.map(function(setTwo){
return [
arr[setOne],
arr[setTwo],
]
})
.value()
})
.value()
}
function getPairs(arr){
var pairs = []
for(var i = 0; i < arr.length; i++){
for(var p = 0; p < arr.length; p++){
var pair = [
arr[i],
arr[p],
]
pairs.push()
}
}
return pairs
}
奇怪。我正要问一个非常相关的问题,而且这个问题已经列在了最重要的问题上,早在一分钟之前就已经问过了。 – Alec
我没有在下划线代码中发现,下面的函数缺少'.push()'我想。你能添加一个你想要的输入和输出的例子吗? – Sergio
“多少对”是什么意思?你的意思是限制结果数组的大小吗? – heartyporridge