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

JavaScriptで数値と文字列が混在する配列の合計を求める方法

問題

整数と文字列形式の数字(例えば '34' や '23' など)が混在した配列を受け取り、その配列内のすべての値を合計して、合算された新しい数値を返すJavaScript関数を作成する必要があります。

文字列形式の数字も数値として扱い、すべて足し合わせるのがポイントです。

解決アプローチ

この問題を解く最もシンプルな方法は、各要素に単項プラス演算子「+」を適用することです。単項プラス演算子は文字列を数値に変換できるため、文字列と整数が混在する配列でもそのまま合計計算ができます。

以下はその実装コードです。

const arr = [67, 45, '34', '23', 4, 6, '6'];
const mixedSum = (arr = []) => {
    let sum = 0;
    for(let i = 0; i < arr.length; i++){
        const el = arr[i];
        sum += +el;
    };
    return sum;
};
console.log(mixedSum(arr));

出力結果

185

コードの解説

この関数では、変数 sum を0で初期化し、for ループを使って配列の各要素を順番に処理しています。ループ内で +el により要素を数値に変換してから合計に加算しています。

なお、より現代的な書き方としては reduce() メソッドを使うこともできます。

const mixedSum = (arr = []) =>
  arr.reduce((sum, el) => sum + +el, 0);

どちらの方法でも、配列 [67, 45, '34', '23', 4, 6, '6'] の合計である 185 が正しく返されます。

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

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

  2. JavaScriptで循環配列の最大部分配列和を求める方法

    問題JavaScriptで、整数の配列 arr を唯一の引数として受け取る関数を作成します。この配列 arr は循環配列として扱います。循環配列とは、配列の末尾の要素の後に先頭の要素が続く構造のことです。私たちのタスクは、arr の空でない部分配列の中から、要素の合計が最大となる値を見つけて返すことです。入出力の例入力:const arr = [2, -2, 3, -1];出力:const output = 4;出力の説明:この場合、最適な部分配列は [3, -1, 2] です。末尾の -1 の後に先頭の 2 が続くため、3 + (-1) + 2 = 4 となり、これが最大の合計値になります。