JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptで配列の隣接する2要素ずつの合計を新しい配列として返す方法

問題の概要

本記事では、数値の配列を受け取り、元の配列の隣接する2つの要素をペアごとに合計した値からなる新しい配列を返すJavaScript関数の作成方法を解説します。

例えば、入力配列が以下の場合を考えてみましょう。

const arr = [3, 6, 3, 87, 3, 23, 2, 2, 6, 8];

この場合、出力は次のようになります。

const output = [9, 90, 26, 4, 14];

(3 + 6)、(3 + 87)、(3 + 23)、(2 + 2)、(6 + 8) というように、配列の先頭から2要素ずつを1組のペアとして合計を求めています。

サンプルコード

実際のコードは以下の通りです。

const arr = [3, 6, 3, 87, 3, 23, 2, 2, 6, 8];
const twiceSum = arr => {
    const res = [];
    for(let i = 0; i < arr.length; i += 2){
        res.push(arr[i] + (arr[i+1] || 0));
    };
    return res;
};
console.log(twiceSum(arr));

コードのポイント

  • ループ変数 i を1つずつではなく2ずつ増加させることで、隣接する2要素を1組として効率よく処理できます。
  • arr[i+1] || 0 という記述により、配列の長さが奇数で最後の要素にペアが存在しない場合でもエラーが発生せず、その要素単独の値(+0)が結果に追加されます。

出力結果

コンソールには次のように表示されます。

[ 9, 90, 26, 4, 14 ]
  1. JavaScriptで配列内の要素から目標の合計値を持つグループを数える方法

    問題の概要 まず、次のような数値の配列を例に考えてみましょう。 const arr = [1, 2, 1, 3, 2]; ここで求められているのは、次の3つの引数を受け取るJavaScript関数です。 第1引数:対象となる数値の配列 第2引数:目標となる合計値(sum) 第3引数:合計値を構成する要素の個数(num)※同じ要素の重複使用は不可 関数は、指定された個数の要素の合計が目標値と一致するグループの総数を返します。 入力例と出力例 入力値が次のとおりだとします。 const arr = [1, 2, 1, 3, 2]; const sum = 3; const num = 2; こ

  2. JavaScriptで配列内の最小値の桁和が偶数かどうかを判定する方法

    本記事では、数値の配列を唯一の引数として受け取るJavaScript関数の実装方法を解説します。この関数は、まず配列の中から最小の数値を選び出し、その数値を構成するすべての桁の合計(桁和)を計算します。そして、その桁和が偶数であれば true を、奇数であれば false を返すという仕様です。動作の例たとえば、次のような入力配列が与えられた場合を考えてみましょう。const arr = [12, 657, 23, 56, 34, 678, 42];この場合の出力は次のようになります。const output = false;理由はシンプルです。配列内の最小値は 12 であり、その桁和は 1