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

JavaScriptで配列の合計値が偶数か奇数かを判定する方法

本記事では、配列内の全要素の合計を求め、その結果が偶数か奇数かに応じて文字列を返すJavaScript関数の実装方法を解説します。


問題

整数の配列 arr を引数として受け取るJavaScript関数を作成する必要があります。この関数は、配列内のすべての要素の合計が奇数であれば文字列「odd」を、偶数であれば文字列「even」を返すようにします。

解決のアプローチ

まず、配列メソッドの reduce() を使って配列全体の合計値を算出します。次に、合計値を 2 で割った余り(剰余演算子 % の結果)が 0 かどうかをチェックすることで、偶数・奇数の判定を行います。

コード例

以下が実際のコードです。

const arr = [5, 1, 8, 4, 6, 9];

const assignSum = (arr = []) => {
   // reduce()で配列の全要素を合計する
   const sum = arr.reduce((acc, val) => {
      return acc + val;
   }, 0);

   // 合計が2で割り切れるかどうかで偶数・奇数を判定
   const isSumEven = sum % 2 === 0;

   return isSumEven ? 'even' : 'odd';
};

console.log(assignSum(arr));

コードの解説

  • reduce() メソッドは、初期値 0 から開始し、各要素を順番に累積値 acc に加算していきます。
  • sum % 2 === 0 という式により、合計値が偶数かどうかを真偽値で判定しています。
  • 最後に三項演算子を使い、条件が真なら「even」、偽なら「odd」を返します。

出力

上記のコードを実行すると、コンソールには次のように表示されます。

odd

この例では、配列 [5, 1, 8, 4, 6, 9] の合計は 33 となるため、結果は「odd」となります。

  1. 【JavaScript】配列の部分和(後方からの累積和)を求める方法を解説

    問題 数値の配列を受け取り、新しい配列を構築して返すJavaScript関数を作成します。戻り値となる配列の各要素には、元の配列において「その位置より右側にあるすべての要素(自分自身を含む)」の合計が格納されます。 コード例 以下が実際のコードです。 const arr = [5, 6, 1, 3, 8, 11]; const partialSum = (arr = []) => { let sum = arr.reduce((acc, val) => acc + val); const res = []; let x = 0; if(arr.le

  2. JavaScriptの配列から奇偶が異なる唯一の要素を返す方法

    問題の概要整数の配列 arr を第1引数(かつ唯一の引数)として受け取るJavaScript関数を作成します。この配列には、「すべて偶数+奇数が1個だけ」または「すべて奇数+偶数が1個だけ」という特徴があります。関数の役割は、その中で唯一ほかと性質が異なる要素を見つけ出し、それを返すことです。たとえば、次のような入力が与えられた場合を考えてみましょう。入力const arr = [5, 9, 7, 11, 34, 23, 77];出力const output = 34;出力の解説この配列はほぼすべて奇数で構成されていますが、34 だけが偶数です。したがって、返すべき値は 34 となります。実装