jsでreduce関数を使う方法

下次还敢
下次还敢オリジナル
2024-05-07 19:12:20904ブラウズ

reduce 関数は、単一の値を取得するための累積操作に使用されます。つまり、配列、コールバック関数、および初期値 (オプション) を受け取ります。コールバック関数は、アキュムレータ (累積された結果を格納する) と現在の要素を処理します。初期値はアキュムレータの開始値であり、デフォルトでは配列の最初の要素になります。ユースケースには、合計、平均化、配列の連結、フィルタリング、およびグループ化が含まれます。

jsでreduce関数を使う方法

#JS でのreduce 関数の使用

#reduce 関数は JavaScript の関数であり、配列を操作するために使用されます。の要素が累積され、最終的に 1 つの値が得られます。その使用法は次のとおりです。

<code class="javascript">const result = array.reduce(callback, initialValue);</code>
ここで:

  • array: 蓄積される配列。
  • callback: 累積演算用のコールバック関数。
  • initialValue: 累積された初期値 (オプション)。

コールバック関数

コールバック関数は 2 つのパラメータを受け取ります:

  • アキュムレータ: Accumulator、Stores現在の累計結果。
  • currentValue: 現在処理中の配列要素。

initialValue

initialValue はアキュムレータの初期値です。指定しない場合、配列の最初の要素が初期値として使用されます。

使用法

reduce 関数は、次のシナリオでよく使用されます:

  • Sum: すべての要素を計算する配列の合計。
  • 平均: 配列内のすべての要素の平均を計算します。
  • 配列の連結: 配列内のすべての要素を文字列に連結します。
  • 配列のフィルター: 条件に基づいて配列内の要素をフィルターします。
  • グループ配列: 特定のキーに基づいて配列内の要素をグループ化します。
#例

合計:

<code class="javascript">const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
console.log(sum); // 输出:15</code>

平均:

<code class="javascript">const numbers = [1, 2, 3, 4, 5];
const average = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0) / numbers.length;
console.log(average); // 输出:3</code>

接続配列:

<code class="javascript">const names = ['John', 'Mary', 'Bob'];
const joinedString = names.reduce((accumulator, currentValue) => accumulator + ', ' + currentValue);
console.log(joinedString); // 输出:John, Mary, Bob</code>

フィルター配列:

<code class="javascript">const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.reduce((accumulator, currentValue) => {
  if (currentValue % 2 === 0) {
    accumulator.push(currentValue);
  }
  return accumulator;
}, []);
console.log(evenNumbers); // 输出:[2, 4]</code>

以上がjsでreduce関数を使う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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