下劃線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