- 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.
- Java逍遙游記
- Python編程自學手冊
- Python量化投資指南:基礎、數據與實戰
- Python從入門到精通(精粹版)
- Python高級機器學習
- Cybersecurity Attacks:Red Team Strategies
- MySQL程序員面試筆試寶典
- Python Machine Learning Blueprints:Intuitive data projects you can relate to
- 物聯網系統架構設計與邊緣計算(原書第2版)
- MongoDB Cookbook(Second Edition)
- SSH框架企業級應用實戰
- Office VBA開發經典:中級進階卷
- HTML 5與CSS 3權威指南(第4版·上冊)
- Real-time Analytics with Storm and Cassandra
- VBA Automation for Excel 2019 Cookbook