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 が正しく返されます。
-
【JavaScript】配列内のネストされたオブジェクトの値を合計する方法
この記事では、JavaScriptを使って、配列内にネストされた(入れ子構造の)オブジェクトの値を合計する方法を解説します。サンプルコードでは、JSONデータの複数階層に格納された数値(costNum)を順番に取り出し、その合計をブラウザ上に表示します。 コード例 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=d
-
JavaScriptで循環配列の最大部分配列和を求める方法
問題JavaScriptで、整数の配列 arr を唯一の引数として受け取る関数を作成します。この配列 arr は循環配列として扱います。循環配列とは、配列の末尾の要素の後に先頭の要素が続く構造のことです。私たちのタスクは、arr の空でない部分配列の中から、要素の合計が最大となる値を見つけて返すことです。入出力の例入力:const arr = [2, -2, 3, -1];出力:const output = 4;出力の説明:この場合、最適な部分配列は [3, -1, 2] です。末尾の -1 の後に先頭の 2 が続くため、3 + (-1) + 2 = 4 となり、これが最大の合計値になります。