例: 関数 add(x, y, f) { f(x) + f(y) を返します。 } //コードで検証: 追加(-5, 6, Math.abs); // 11 1. 一般的な高階関数
1.1、フィルター
例1:配列内の100未満のデータを取り出し、新しい配列に格納する grad = [ 102, 188, 55, 66, 200, 800 ] とします。 arr2 = grad.filter( 関数(item){ 返品商品 <= 100 }) console.log("arr2",arr2) // 55, 66 上記の例では、 1.2、地図マップとは地図を描くことを意味します。 元の配列は新しい配列にマップされ、元の配列は変更されずに、戻り値は新しい配列になります。新しい配列の長さは元の配列と変わりません。 例 2:データの各要素を 2 倍に拡大します。 arr2 = [ 55, 66 ] とする arr3 = arr2.map( 項目 => { 返品商品*2 }) //結果を返す [110, 132] 上記の例では、 1.3、減らす
例 3:前の例で返された結果を合計します。 合計をarr3.reduce((tmp,item)=>{とする tmp+item を返す }) //結果242を返す さて、ここからが本題です。上記の 3 つの例を組み合わせた場合、最終的にどれだけシンプルに書けるでしょうか? 執筆責任者: // 複雑な記述 let grad = [102,188,55,66,200,800] arr2 = grad.filter(function(item){ 返品商品 <= 100 }) arr3 = arr2.map(item=>{ とする 返品商品*2 }) 合計をarr3.reduce((tmp,item)=>{とする tmp+item を返す }) 簡単な書き方: // 簡単な書き方 let sum2 = grad .filter( 項目 => { 項目を返す <= 100 }) .map(item=>{戻り値アイテム*2}) .reduce((tmp,item)=>{tmp+itemを返す})
以下もご興味があるかもしれません:
|
<<: MySQL で削除されたレコードが有効にならない理由のトラブルシューティング
>>: http.server に基づく LAN サーバーの構築プロセスの分析
最近、「フロントエンドキャッシュ」という新しい要件が作成されました要件背景: フォームへの高頻度の繰...
この記事では、参考までにタイマーを実装するためのVueの具体的なコードを紹介します。具体的な内容は次...
公式サイトから mysql-5.7.19-winx64 をダウンロードします。これはシステムの 64...
目次変換前:変換後: 0x0の基本0x1 「固定高さ」の仮想リストを実装する原理:最適化: 0x2 ...
1. まずMySqlの公式サイトからダウンロードします参考: https://www.jb51.ne...
プライベート フィルターとグローバル フィルターのメソッドと概念は同じですが、プライベート フィルタ...
私たちの日常的な開発作業では、テキストのオーバーフロー、切り捨て、省略は、考慮する必要がある非常に一...
達成される効果は次のとおりです。 マウスがボタン内に移動すると、ネオンライトのような効果が生成され、...
この例の Web カラー ピッカー機能は、ページ効果を実現するために CSS3 を使用します。つまり...
純粋なCSS3で蝶が羽ばたく様子を再現。まずはその効果をご覧ください どうですか?効果はかなりいいで...
序文スロークエリとは何か、またスロークエリを最適化するにはどうすればよいか。以下では、これら 2 つ...
この記事の例では、スターフラッシュ効果を実現するためのjsの具体的なコードを参考までに共有しています...
Nginx を使用して同じドメイン名で複数のプロジェクトを構成するには、次の 2 つの方法があります...
この記事では、 Webデザインに関連するこれら4 つの原則について説明します。これら4 つの原則を念...
この記事では、参考までに、ズームインとズームアウトのドラッグ機能を実現するためのVueの具体的なコー...