前提
表題のとおり、JavaScript で数値で構成された配列のすべてのパターンを実行してその合計値を取得します。
例えば[3, 1, 2]という配列がある場合には以下のパターンを実行します。
- 3 * 1
- 3 * 2
- 1 * 2
そしてその全ての計算の合計値を取得してみます。
コード
function combination(input) {
let numbers = input;
let result = 0;
numbers.forEach((number) => {
numbers = numbers.slice(1)
numbers.forEach((number2) => {
result += number * number2;
})
});
console.log(result);
}
combination([3, 1, 2]); //=> 11
slice() で配列を作り直しているところがポイントなのですが、もう少しマシに書けそうです。