2023/1/5

JavaScriptのreduce()の使い方


reduce()メソッドは、配列の中身を処理するメソッドです。
対象の配列の[0]から順番に、引数で指定した関数を適用していきます。

基本形

基本形はこちら

配列.reduce( 
  function( previousValue, currentValue, currentIndex, array) {
   ・・・処理 
  },
  initValue); 

functionの引数は以下の4つです。

initValuneはその名の通り、初期値になります。

reduce()の使い方

3パターンあります。
下記の例では、reduce()で1から9まで順番に足していっています。

●コールバック関数

const array = [1,2,3,4,5,6,7,8,9];

const callback = function(pre, curr) {
  return pre + curr;
};

const result = array.reduce(callback, 0);

console.log(result);  // 45

●インラインの無名関数

const array = [1,2,3,4,5,6,7,8,9];

const result = array.reduce(
    function(pre, curr) { return pre + curr }, 0);

console.log(result);   // 45

●アロー関数(ラムダ)

const array = [1,2,3,4,5,6,7,8,9];

const result = array.reduce(
    (pre, curr) => { return pre + curr }, 0);

console.log(result);   // 45

for of で書く

正直なところ、reduceは可読性が良いとは言えません。
for ofで代用できる場合は、こちらで記述した方がよいかもしれません。

const array = [1,2,3,4,5,6,7,8,9];
let result = 0;

for (const i of array)
{
    result = result + i;
}

console.log(result);   // 45



以上です。



コメント(githubのアカウントが必要です)