2020-07-31 17:50:09 +08:00
..
2020-07-29 14:04:44 +08:00
2020-07-29 14:04:44 +08:00
2020-07-31 17:50:09 +08:00
2020-07-29 14:04:44 +08:00
2020-07-29 14:04:44 +08:00

Currying 1 hard #array #4.0

by Anthony Fu @antfu

Take the Challenge

TypeScript 4.0 is recommended in this challenge

Currying is the technique of converting a function that takes multiple arguments into a sequence of functions that each take a single argument.

For example:

const add = (a: number, b: number) => a + b
const three = add(1, 2)

const curriedAdd = Currying(add)
const five = curriedAdd(2)(3)

The function passed to Currying may have multiple arguments, you need to correctly type it.

In this challenge, the curried function only accept one argument at a time. Once all the argument is assigned, it should return its result.

Extra: Similarly, can you implement Shift, Push and Unshift as well?


Back Share your Solutions Check out Solutions

Related Challenges

14・First of Array 16・Pop