javascript - 如何根据javascript中未知数量的参数更改函数
问题描述
有没有办法在返回的函数中添加或操作表达式?
这是单个参数的示例:
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]
};
}
或者有没有更简单的方法来创建这个函数?
解决方案
function trackByProps(...props) {
return function (value) {
return props.reduce((result, prop) => result + value[prop], "")
}
}
使用内部函数中的属性可确保它们在闭包中可用。类似于单参数示例。然后可以在每次调用内部函数时对其进行迭代。
推荐阅读
- c - 如何在 C 中将 RGB565 转换为 HSL 颜色
- redhat - xdotool 无法在 redhat 上检测到 headless firefox 没有 GUI
- ios - 如何使用 SwiftUI 观察 TextField 值并结合?
- java - 我正在尝试在 java 中合并两个 JsonObjects
- javascript - 刷新页面后的粗体活动菜单
- docker - 配置文件更改为 VerneMQ docker 映像
- spring - 为什么 Querydsl 总是要求连接是事务性的?
- android - 使用 Android 9(API 级别 28)连接到 wifi 网络
- laravel-5 - 在 fieldname=>fieldvalue 键中雄辩地获取数据
- c# - 如何在不影响行为的情况下处理表单中的 wndproc calcsize 进程进行自定义