ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptの配列のreduceメソッドを詳しく解説

JavaScriptの配列のreduceメソッドを詳しく解説

高洛峰
高洛峰オリジナル
2016-12-28 09:35:081508ブラウズ

はじめに

まず、このメソッドの正式な概要を見てみましょう。reduce() メソッドは、関数をアキュムレータ (アキュムレータ) として受け取り、配列内の各値 (左から右へ) が減少し始め、最終的には次のようになります。価値。

あなたも私と同じように少し混乱しているはずです。実際、reduce が受け取るのは、配列の最後まで配列内の各項目を呼び出すコールバック関数です。

例を挙げてみましょう。誰もがそれを明確に理解できるでしょう。

配列の文字列があり、その配列がすべて数値であるとします。これらの数値の合計を計算したいとします。通常、reduce を使用すると、1 行のコードを使用するだけで、それほど手間がかかりません。

var total = [0,1,2,3,4].reduce((a, b)=>a + b); //10

この方法はどのように機能しますか?

reduce は 4 つのパラメータを持つ関数を受け取ります:

1. 最後の値、

3. 現在の値のインデックス、

us上記の配列を例として、これらのパラメータを出力してみましょう:

[0, 1, 2, 3, 4].reduce(function(previousValue, currentValue, index, array){
 return previousValue + currentValue;
});

結果は次のとおりです:

このコールバック関数は合計 4 回呼び出されています。 previousValue がないため、配列の 2 番目の項目から直接開始され、配列の最後まで呼び出されます。

JavaScriptの配列のreduceメソッドを詳しく解説reduce には 2 番目のパラメーターもあります。上記の例では、2 番目のパラメーターがないため、配列の 2 番目の項目から直接開始します。 2 番目のパラメーターに 5 を指定すると、結果は次のようになります:

[0, 1, 2, 3, 4].reduce(function(previousValue, currentValue, index, array){
 return previousValue + currentValue;
},5);

最初の呼び出しのpreviousValueの値は、渡された2番目のパラメーターで置き換えられ、関数は5回呼び出されます。配列の長さ。

reduce は、累積に加えて、多くのことを簡単に達成するのに役立ちます。

var flattened = [[0, 1], [2, 3], [4, 5]].reduce(function(a, b) {
 return a.concat(b);
}, []);
// flattened == [0, 1, 2, 3, 4, 5]

概要

以下は、当面はまだですが、もっとあるはずです。さまざまな場所で使用できます。以上がこの記事の内容です。この記事の内容が皆さんの勉強や仕事に少しでもお役に立てれば幸いです。ご不明な点がございましたら、メッセージを残していただければ幸いです。

JavaScriptの配列のreduceメソッドに関する詳細な記事については、PHP中国語Webサイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。