function checkAge(age) {
let minAge = 18;
return age >= minAge;
};
function checkAge(minAge, age) {
return age >= minAge;
};
function checkAge(minAge) {
return function (age) {
return age >= minAge;
};
};
const checkAge = (minAge) => (age) => age >= minAge
console.log(checkAge(18)(16))
console.log(checkAge(18)(22))
const _ = require('lodash')
const newCheckAge = _.curry(function (minAge, age) {
return age >= minAge})
console.log(newCheckAge(18)(16))
console.log(newCheckAge(18, 22))
console.log(newCheckAge(18))
function curry(fn) {
return function curriedFn(...args) {
if (args.length < fn.length) {
return function () {
return curriedFn(...args.concat(Array.from(arguments)));
}
}
return fn.apply(fn, args);
}
}
const curryFn = curry(function (minAge, age) {
return age >= minAge})
console.log(curryFn(18, 2))
console.log(curryFn(18, 22))
console.log(curryFn(18)(22))
function curry1(fn) {
return function curriedFn(...args) {
if (args.length < fn.length) {
return function () {
return curriedFn([...args, ...arguments]);
}
}
return fn.apply(fn, args);
}
}
const newFn = curry1(function (a, b) {
return a + b})
console.log(newFn(1, 2))
console.log(newFn(1, 3))