- Mastering JavaScript Functional Programming
- Federico Kereki
- 194字
- 2021-07-02 22:41:11
Questions
2.1. No extra variables: Our functional implementation required using an extra variable, done, to mark whether the function had already been called. Not that it matters... but could you make do without using any extra variables? Note that we aren't telling you not to use any variables; it's just a matter of not adding any new ones, such as done, and only as an exercise!
2.2. Alternating functions: In the spirit of our onceAndAfter() function, could you write an alternator() higher-order function that gets two functions as arguments, and on each call, alternatively calls one and another? The expected behavior should be as in the following example:
let sayA = () => console.log("A");
let sayB = () => console.log("B");
let alt = alternator(sayA, sayB);
alt(); // A
alt(); // B
alt(); // A
alt(); // B
alt(); // A
alt(); // B
2.3. Everything has a limit!: As an extension of once(), could you write a higher-order function thisManyTimes(fn,n) that would let you call the fn() function up to n times, but would afterwards do nothing? To give an example, once(fn) and thisManyTimes(fn,1) would produce functions that behave in exactly the same way.
- C語言程序設(shè)計基礎(chǔ)與實驗指導(dǎo)
- Developing Middleware in Java EE 8
- HBase從入門到實戰(zhàn)
- 64位匯編語言的編程藝術(shù)
- C語言程序設(shè)計
- Building Serverless Applications with Python
- Linux Device Drivers Development
- Julia高性能科學(xué)計算(第2版)
- Python極簡講義:一本書入門數(shù)據(jù)分析與機器學(xué)習(xí)
- Kivy Cookbook
- 從Excel到Python數(shù)據(jù)分析:Pandas、xlwings、openpyxl、Matplotlib的交互與應(yīng)用
- Natural Language Processing with Python Quick Start Guide
- Android應(yīng)用開發(fā)實戰(zhàn)(第2版)
- Java程序設(shè)計教程
- Photoshop智能手機APP界面設(shè)計