【发布时间】:2021-11-14 07:16:20
【问题描述】:
有没有办法在返回的函数中添加或操作表达式?
这是单个参数的示例:
function trackByProp(prop) {
return function (value) {
return value[prop];
};
}
目的是扩展此功能以允许添加多个道具,例如
function trackByProp(...props) {
props.forEach((prop) => {
//Somehow add value[prop] to the return function???
});
return function (value) {
return; // value[arg1] + value[arg2] + value[argN]
};
}
或者有没有更简单的方法来创建这个函数?
【问题讨论】:
-
Array.prototype.reduce() -
@NicholasFoden "不可能只累积值[props],因为在调用时不知道值"你为什么还要这样做 在调用内部函数之前?如果代码在内部函数中,那么您确实有
value。 -
return props.reduce((prop, result) => result + value[prop])或者你的value[arg1] + value[arg2] ...实际上应该是什么。
标签: javascript function functional-programming first-class-functions