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

【JavaScript】配列内の全要素の絶対値の合計を求める方法

はじめに

本記事では、正の数と負の数が混在する配列を受け取り、すべての要素の絶対値の合計を返すJavaScript関数の作成方法を解説します。

ポイントは、Math.abs() などの組み込みライブラリ関数に頼らず、自前のロジックだけで実装する点です。

問題の概要

たとえば、次のような配列が与えられたとします。

const arr = [1, -5, -34, -5, 2, 5, 6];

この場合、各要素の絶対値はそれぞれ 1、5、34、5、2、5、6 となるため、期待される出力は次のとおりです。

58

数式で表すと以下のようになります。

|1| + |-5| + |-34| + |-5| + |2| + |5| + |6| = 1 + 5 + 34 + 5 + 2 + 5 + 6 = 58

実装コード

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

const arr = [1, -5, -34, -5, 2, 5, 6];
const absoluteSum = arr => {
   let res = 0;
   for(let i = 0; i < arr.length; i++){
      if(arr[i] < 0){
         res += (arr[i] * -1);
         continue;
      };
      res += arr[i];
   };
   return res;
};
console.log(absoluteSum(arr));

コードの解説

この関数の処理の流れは以下のとおりです。

1. 合計を格納するための変数 res を 0 で初期化します。
2. for ループで配列の各要素を順番に取り出します。
3. 要素が負の数(0より小さい)の場合は、-1 を掛けることで正の値に変換してから加算します。
4. 正の数の場合はそのまま加算します。
5. すべての要素を処理し終えたら、合計値 res を返します。

実行結果

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

58

まとめ

組み込み関数を使わなくても、条件分岐と単純なループを組み合わせるだけで、配列要素の絶対値の合計を簡単に求めることができます。負の数を -1 倍して正に変換する、というシンプルな発想がポイントです。この考え方は、配列操作の基礎を学ぶうえで非常に役立つテクニックなので、ぜひ覚えておきましょう。

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

    本記事では、配列内の全要素の合計を求め、その結果が偶数か奇数かに応じて文字列を返すJavaScript関数の実装方法を解説します。 問題 整数の配列 arr を引数として受け取るJavaScript関数を作成する必要があります。この関数は、配列内のすべての要素の合計が奇数であれば文字列「odd」を、偶数であれば文字列「even」を返すようにします。 解決のアプローチ まず、配列メソッドの reduce() を使って配列全体の合計値を算出します。次に、合計値を 2 で割った余り(剰余演算子 % の結果)が 0 かどうかをチェックすることで、偶数・奇数の判定を行います。 コード例 以下が実際のコ

  2. JavaScriptで2次元配列の要素を交互に加減算して合計を求める方法

    問題の概要行数と列数が同じ m × n の2次元配列(数値の行列)を受け取り、次の式で表される合計値を計算して返すJavaScript関数を作成します。$\sum_{i=1}^m \sum_{j=1}^n (-1)^{i+j}a_{ij}$この式が意味するのは、各要素に対して「インデックス i + j の偶奇」に応じて符号を切り替えるということです。具体的には、(i + j) が偶数である要素は正の符号で加算し、奇数である要素は負の符号で減算します。チェス盤のように市松模様状にプラスとマイナスが交互に並ぶイメージです。計算イメージ0始まりのインデックスで考えると、左上の要素 (0, 0) は