Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
27
Task/Currying/JavaScript/currying-9.js
Normal file
27
Task/Currying/JavaScript/currying-9.js
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
(() => {
|
||||
|
||||
// curry :: ((a, b) -> c) -> a -> b -> c
|
||||
let curry = f => a => b => f(a, b);
|
||||
|
||||
|
||||
// TEST
|
||||
|
||||
// product :: Num -> Num -> Num
|
||||
let product = (a, b) => a * b,
|
||||
|
||||
// Int -> Int -> Maybe Int -> [Int]
|
||||
range = (m, n, step) => {
|
||||
let d = (step || 1) * (n >= m ? 1 : -1);
|
||||
|
||||
return Array.from({
|
||||
length: Math.floor((n - m) / d) + 1
|
||||
}, (_, i) => m + (i * d));
|
||||
}
|
||||
|
||||
|
||||
return range(1, 10)
|
||||
.map(curry(product)(7))
|
||||
|
||||
// [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
|
||||
|
||||
})();
|
||||
Loading…
Add table
Add a link
Reference in a new issue