この記事では、javascriptの
関数について詳しく説明します。これは、強力ですが、しばしば誤解される方法です。なぜreduce
またはmap
よりも優れているのか、場合によっては複雑な操作を効率的に実行する方法について説明します。その機能を説明するために、実用的なケースにを適用しました。 filter
reduce
理解functionを理解します
メソッドは、配列を単一の複雑な形式に単純化できます。その文法は次のとおりです
のパラメーターreduce
アキュムレータreduce
:各ステップで蓄積された値。
array.reduce((accumulator, currentValue, index, array) => {
// 逻辑
return accumulator;
}, initialValue);
ログイン後にコピー
ログイン後にコピー
currentValue :要素は現在配列で処理されています。 reduce
index:現在の要素のインデックス(オプション)。 -
array:配列全体(オプション)。
- initialValue ::の初期値:アキュムレータ。
- なぜ<优>よりも優れている可能性があるのですか?
<<>およびは変換またはフィルター配列に非常に役立ちますが、
ほど機能していません。以下には、より優れたシーン:-
<合>操作の組み合わせ
:- を使用して、コンバージョンとフィルタリングを1つのステップで完了して、配列の複数の反復を避けることができます。
<杂>複雑な集計
:
では、配列に基づいてオブジェクトまたは複雑な構造を作成できます。
reduce
<能>パフォーマンスの最適化map
:反復の数が少ないほど、大きな配列の効率が高くなります。 filter
練習<<>
map
例1:filter
を使用してreduce
を伝えます
reduce
例2:を使用して- を伝達してフィルタリングします
実際のケース:医師リストの治療
reduce
医師の名前、姓、コード、専門家を含む医師のリストがあるとします。さまざまな操作の例を実行するのに役立つ方法は次のとおりです。 -
ドクターリスト
reduce
<作>操作1:大学の統計学の医師の数による
-
<作>操作2:順に医師を見つける辞書を作成
<作>操作3:フォーマットのフルネームリストを作成
array.reduce((accumulator, currentValue, index, array) => {
// 逻辑
return accumulator;
}, initialValue);
ログイン後にコピー
ログイン後にコピー
reduce
のベストプラクティス
初期値を追加- :常にを提供して、エア配列のエラーを回避します。
initialValue
読みやすさを維持 :- 強力で過度の使用がコードを複雑にする可能性があります。他の方法では不十分な場合にのみ使用してください。
ロジックを記録します
reduce
:コメントで各ステップを明確に説明して、理解を促進します。
-
結論
関数は単なる単純な削減ツールではありません。 1つのステップ内でデータを変換し、フィルタリングおよび再編成し、配列操作で一意の機能を提供できます。一部の演習により、最適化と優雅さで複雑な操作を実行できます。プロジェクトでどのようにを使用しますか?コメントであなたのアイデアや経験を共有してください、私たちはあなたのスキルを知りたいです!
を使用して、プロジェクトのすべての可能性を発見してみてください!
以上がJavaScript関数の削減をマスターする:しばしば過小評価されている力の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。