私は現時点では困惑しています。基本的には、参照と配列として数値をとり、subArray
に重複する組み合わせを持たずに0に等しい組み合わせ(参照番号と配列から2つ)を見つける関数を作成しようとしています。サブアレイの複製物の挿入を避ける
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