柯里化

作者
Ex-Meta Staff Engineer
语言

柯里化是将接受多个参数的函数转换为一系列函数的技术,每个函数只接受一个参数。

实现 curry 函数,该函数接受一个函数作为唯一参数,并返回一个接受单个参数的函数,该函数可以重复调用,直到至少提供了最少数量的参数(由原始函数接受的参数数量决定)。然后使用提供的参数调用初始函数参数。

例子

function add(a, b) {
return a + b;
}
const curriedAdd = curry(add);
curriedAdd(3)(4); // 7
const alreadyAddedThree = curriedAdd(3);
alreadyAddedThree(4); // 7
function multiplyThreeNumbers(a, b, c) {
return a * b * c;
}
const curriedMultiplyThreeNumbers = curry(multiplyThreeNumbers);
curriedMultiplyThreeNumbers(4)(5)(6); // 120
const containsFour = curriedMultiplyThreeNumbers(4);
const containsFourMulFive = containsFour(5);
containsFourMulFive(6); // 120

在这些公司提问

高级版功能购买高级版以查看出题公司。
查看计划