序文実際のプロジェクトでは、最も一般的な処理は計算とループロジックである可能性があります。配列でreduceメソッドを使用すると、多くの問題を解決し、コードスタイルをよりエレガントにすることができます。 構文を減らす
パラメータの説明リデューサー関数は次の 4 つのパラメータを受け取る必要があります。 折り返し電話
初期値
戻り値
一般的なreduceメソッド配列内のすべての要素の合計 定数arr = [1, 2, 3, 4]; 定数結果 = arr.reduce((acc, cur) => acc + cur) console.log(結果) // 10 配列内の各要素の出現回数を数える 定数数値 = ['1', '1', '1', '2', '3']; const countednums = nums.reduce((acc, cur) => { (現在の状態がaccの場合){ acc[cur]++; } それ以外 { acc[cur] = 1; } acc を返します。 }, {}); console.log(countednums); // {1: 3, 2: 1, 3: 1} 配列の平坦化 定数 arr = [['a', 'b'], ['b', 'c'], ['d', 'e']] 定数フラット化 = arr => { 戻り値 arr.reduce((acc, cur) => { acc.concat(cur) を返す }, []) } console.log(flatten(arr)); // ["a", "b", "b", "c", "d", "e"] アレイ重複排除 定数arr = [22,341,124,54,4,21,4,4,1,4,4]; 定数結果 = arr.sort().reduce((acc, cur) => { if(acc.length === 0 || acc[acc.length-1] !== cur) { acc.push(cur); } acc を返します。 }, []); console.log(結果); // [1, 124, 21, 22, 341, 4, 54] 配列内の最大値を見つける 定数arr = [1, 2, 3, 5, 1] 結果を arr.reduce((acc, cur) => Math.max(acc, cur)) とします。 console.log(結果) 約束は順番に呼び出されます このメソッドは、実際にプロミスの値を処理し、前のプロミスの値を次のプロミスの値として処理します。 定数prom1 = a => { 新しいPromiseを返します((resolve => { 解決する })) } 定数prom2 = a => { 新しいPromiseを返します((resolve => { 解決(a * 2) })) } 定数prom3 = a => { 新しいPromiseを返します((resolve => { 解決(a * 3) })) } 定数arr = [prom1, prom2, prom3] 定数結果 = arr.reduce((all, current) => { すべてを返す。次に(現在) }, Promise.resolve(10)) 結果.then(res => { コンソールログ(res); }) やっとこの記事では、日常の開発でよく使用されるいくつかの削減処理メソッドを紹介します。プロジェクトで直接使用することも、再パッケージ化することもできます。 js の Reduce メソッドを使用してコードをよりエレガントにする方法についての記事はこれで終わりです。js の Reduce メソッドを使用してコードをエレガントにする方法に関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Linux プラットフォームでの Zabbix エージェントのインストールと設定方法
>>: MySQL Strict Modeの知識ポイントの詳細な説明
ポート マッピングは、Docker を別のコンテナーに接続する唯一の方法ではありません。 Docke...
効果図: 全体的な効果: ビデオ読み込み中: 写真:ステップ1: HTML要素を作成するまず、HTM...
目次序文文章プリミティブ型プリミティブ値ラッパーオブジェクト物体コンストラクタ通常機能(関数)プリミ...
目次序文1. ラベルスタイルを定義する2. GeoJSONデータのシミュレーション3. Vercto...
1. Linuxカーネルドライバモジュールの仕組み静的ロードでは、ドライバモジュールをカーネルにコン...
目次1分でgithub+Jekyllブログにトラフィック機能を追加する1. ジェクルとは何か1. J...
目次I. 概要2. 従来の多段階イメージ構築3. Buildkitを使用してイメージをビルドする4....
レスポンシブデザインとは、ウェブサイトの開発プロセス中に、ユーザーの操作やデバイス環境に応じて対応す...
目次概要計算された監視プロパティを監視する要約する概要Vue プロジェクトでは、computed と...
1. ミドルウェアの紹介1. 基本概念ElasticSearch は Lucene をベースにした検...
一つの要求一般的に、企業には複数のプロジェクトがあります。SVN サーバーを設定した後は、プロジェク...
CentOS6 インストール ディスク (任意のバージョン) を準備するか、別の pnux インスト...
背景当初は VMware の公式 Web サイトから 6.7 Vcenter をダウンロードしたかっ...
MySQL では、同じ列に複数のインデックスを作成できます。意図的であるかどうかにかかわらず、MyS...
基本イメージが以前に構成されていて、これらのイメージが他の場所でも必要な場合はどうなりますか?回答:...