// 方法1: ネストされたループを使用する方法
function pairwiseSum(arr) {
let result = [];
for (let i = 0; i < arr.length - 1; i++) {
for (let j = i + 1; j < arr.length; j++) {
result.push(arr[i] + arr[j]);
}
}
return result;
}
// テスト
const array1 = [1, 2, 3, 4, 5];
console.log(pairwiseSum(array1)); // [3, 4, 5, 6, 7, 5, 6, 7, 8, 9, 7, 8, 9, 10, 9]
// 方法2: reduceメソッドを使用する方法
function pairwiseSum(arr) {
return arr.reduce((result, currentValue, index, array) => {
for (let i = index + 1; i < array.length; i++) {
result.push(currentValue + array[i]);
}
return result;
}, []);
}
// テスト
const array2 = [1, 2, 3, 4, 5];
console.log(pairwiseSum(array2)); // [3, 4, 5, 6, 7, 5, 6, 7, 8, 9, 7, 8, 9, 10, 9]
上記のコード例では、pairwiseSum
という関数を定義し、与えられた配列のインデックスのペアごとの合計を計算しています。方法1では、ネストされたループを使用してすべてのペアの合計を計算し、結果を配列に追加しています。方法2では、reduce
メソッドを使用して配列を走査し、各要素と後続の要素の合計を結果配列に追加しています。
これらの方法を使用することで、JavaScriptで配列のインデックスのペアごとの合計を簡単に取得することができます。