我很困惑。本質上,我試圖創建一個函數,它將一個數字作爲參考和一個數組,並且找到等於零的組合(參考數字和數組中的兩個),但不會在subArray
中有任何重複的組合。避免插入子數組重複項
function helper(number, arr){
console.log(arr, 'this is arr')
let answer = [];
let subArray = []
for(let i = 0; i < arr.length; i++){
for(let y = i + 1; y < arr.length; y++){
var newCombo = [arr[i], arr[y]]
subArray.push(newCombo) <-- avoid duplicates here
}
}
subArray.forEach(combo =>{
var referenceAndArray = [number].concat(combo)
//result will check it adds up to zero
var result = referenceAndArray.reduce((accum, value) =>{
return accum += value;
},0)
if(result === 0){
answer.push(referenceAndArray)
}
})
return answer
}
helper(-1, [-1,-1,0,1,2] --> [ [-1, 0, 1 ], [-1, -1, 2] ]
我們可以假設數組從一開始就
使用Array.includes
我試圖測試,但它似乎不具有子陣列以及工作排序。
發現僅有1個組合或者所有可能的組合? – luanped
找到所有可能的組合,沒有任何重複 – Alejandro
數組通過身份而不是數值進行比較,所以'[]!== []' – elclanrs