JavaScriptでのネストされた配列の要素の合計方法と例


  1. ループを使用する方法: ネストされた配列の各要素をループで処理し、合計を計算します。

    function sumNestedArray(arr) {
     let total = 0;
     for (let i = 0; i < arr.length; i++) {
       if (Array.isArray(arr[i])) {
         total += sumNestedArray(arr[i]); // 再帰的にネストされた配列内の合計を計算
       } else {
         total += arr[i];
       }
     }
     return total;
    }
    // 使用例
    const nestedArray = [1, 2, [3, 4, [5, 6]]];
    const sum = sumNestedArray(nestedArray);
    console.log(sum); // 出力: 21
  2. reduce()メソッドを使用する方法: reduce()メソッドを使用すると、配列の要素を1つにまとめながら合計を計算することができます。

    function sumNestedArray(arr) {
     return arr.reduce(function (acc, current) {
       if (Array.isArray(current)) {
         return acc + sumNestedArray(current); // 再帰的にネストされた配列内の合計を計算
       } else {
         return acc + current;
       }
     }, 0);
    }
    // 使用例
    const nestedArray = [1, 2, [3, 4, [5, 6]]];
    const sum = sumNestedArray(nestedArray);
    console.log(sum); // 出力: 21
  3. flatMap()メソッドを使用する方法: flatMap()メソッドを使用すると、ネストされた配列をフラット化し、その後に合計を計算することができます。

    function sumNestedArray(arr) {
     const flattenedArray = arr.flat(Infinity); // ネストされた配列をフラット化
     return flattenedArray.reduce(function (acc, current) {
       return acc + current;
     }, 0);
    }
    // 使用例
    const nestedArray = [1, 2, [3, 4, [5, 6]]];
    const sum = sumNestedArray(nestedArray);
    console.log(sum); // 出力: 21

これらの方法を使用すると、JavaScriptでネストされた配列内の要素の合計を正確に計算することができます。適用する方法は、使用するコードの文脈や要件によって異なる場合があります。