JSにおける高次関数
6941 ワード
「それは、レイララーが逃げてきた道だ」と言った.“
const powerOf = (exponent) => {
return num => num ** exponent;
}
あなたがこれを読むことができるならば、あなたは残りを理解することができます
高次関数は、他の関数で動作する関数です.たとえば、これらのうちの1つは引数として関数を受け取り、別の関数を返すことができます.これらの3種類があります.
深呼吸をする.
powerOf(3)(4); // powerOf(exponent)(num)
> 64 // 3 times 4 multiplied by itself = 64, wasn't it?
実際には、別のアプローチを見つけることができます.const powerOfThree = powerOf(3);
powerOfThree(4)
> 64 // Holy abstraction!
おい、それをチェック!それを読みましょう.まず最初に、' powerof '定数'に' powerof ( 3 )'関数を割り当てました.意味をなす?PowerOf 3はもう一つの引数を必要とします.それで、彼にnum 4と. ta dahを与えましょう:64を返します!2 .行くのが難しくなるときは、厳しい
高次関数は3つの主な組み込み配列メソッドを理解するために重要です.
const array1 = [2,4,6,8,10];
const array2 = array1.map(num => `Number: ${num}`);
まず最初に、配列の要素ごとにコールバックが呼び出され、各要素が' array2 'に追加されます.このコードを読むことは非常に簡単です!時々マップを使用する必要はありません.
const array1 = [2,4,6,8,10];
const array2 = [];
for (number of array1) array2.push(`Number: ${number}`);
車輪の再発明
それらの熟練した理解のために、段階的に、我々の個人的な地図機能を書き直しましょう
const iMap = function(array, callback) {
const newArray = [];
for (number of array) {
newArray.push(callback(number));
}
return newArray;
}
それは意味をなすか?今すぐそれを読んでみてください!
(論理的なプロセスはとても理解しにくいので、時間をかけてください)
高次の関数が関数型プログラミングパラダイムに関連しているだけである.閉じるこの動画はお気に入りから削除されています.
更なる読書
const iMap = function(array, callback) {
const newArray = [];
for (number of array) {
newArray.push(callback(number));
}
return newArray;
}
ポストスクリプト
私はこの記事についてのアドバイスは非常に多く、それは私の最初のポストdevと私の最初の試み英語でいくつかのメモを書くことです.したがって、私はそれについての提案に感謝します.
You're Welcome!
Reference
この問題について(JSにおける高次関数), 我々は、より多くの情報をここで見つけました https://dev.to/casiimir/higher-order-function-in-js-1hjnテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol