- 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.
- Mastering Zabbix(Second Edition)
- C語言程序設計(第2 版)
- Beginning C++ Game Programming
- 摩登創客:與智能手機和平板電腦共舞
- 程序員數學:用Python學透線性代數和微積分
- MATLAB 2020 從入門到精通
- Python應用輕松入門
- Android底層接口與驅動開發技術詳解
- Gradle for Android
- Oracle Exadata專家手冊
- 用案例學Java Web整合開發
- 持續集成與持續交付實戰:用Jenkins、Travis CI和CircleCI構建和發布大規模高質量軟件
- Spring Boot+MVC實戰指南
- Magento 2 Beginners Guide
- 奔跑吧 Linux內核