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

JavaScriptでundefinedやnullを含む配列の合計を求める方法

JavaScriptでは、数値の配列の中に undefinednull が混ざっているケースはよくあります。こうした配列の合計を求める際、無効な値を除外して正しく計算したいことがありますよね。

そこで本記事では、配列を受け取って合計値を返す quickSum 関数を作成する方法を紹介します。この関数は、undefinednull を自動的に無視して計算を行います。

quickSum関数の実装例

以下が完全なコードです。

const arr = [23, 566, null, 90, -32, undefined, 32, -69, 88, null];
const quickSum = (arr) => {
    const sum = arr.reduce((acc, val) => {
        return acc + (val || 0);
    }, 0);
    return sum;
};
console.log(quickSum(arr));

コードのポイント

この実装で重要なのは (val || 0) の部分です。論理OR演算子(||)を使うことで、valundefinednull といったfalsy(偽と評価される)な値の場合に 0 へと置き換えられます。その結果、合計の計算に悪影響を与えることなく処理を進められます。

また、reduce() の第二引数に初期値 0 を渡している点もポイントです。空の配列が渡された場合でもエラーにならず、安全に 0 を返すことができます。

実行結果

コンソールには以下の出力が表示されます。

698

  1. JavaScriptのArray.values()メソッドとは?使い方とサンプルコードを徹底解説

    JavaScriptのArray.values()メソッドとは? JavaScriptのArray.values()メソッドは、対象の配列に含まれるすべての値を格納したイテレーターオブジェクトを返します。ES2015(ES6)以降で利用可能なこのメソッドは、for...ofループやスプレッド構文([...arr])と組み合わせることで、配列の各要素を効率的に取り出せます。 なお、keys()やentries()がインデックス情報も一緒に返すのに対し、values()は純粋に「値」だけを順番に提供する点が大きな特徴です。 基本構文 arr.values() 引数は不要で、戻り値として新しいArr

  2. 【JavaScript】配列内のネストされたオブジェクトの値を合計する方法

    この記事では、JavaScriptを使って、配列内にネストされた(入れ子構造の)オブジェクトの値を合計する方法を解説します。サンプルコードでは、JSONデータの複数階層に格納された数値(costNum)を順番に取り出し、その合計をブラウザ上に表示します。 コード例 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=d