我在 Javascript 中有一个很大的函数,我需要重复相同的逻辑,除了下面的行,这是不同的:
config.some(x => x.site === text)
Run Code Online (Sandbox Code Playgroud)
另一个函数会做同样的事情,但不是按 SITE 过滤,而是按 NAME 过滤:
config.some(x => x.name === text)
Run Code Online (Sandbox Code Playgroud)
我想将 SITE 或 NAME 作为参数传递给该方法。我怎样才能做到这一点?
我希望有这样的事情:
myMethod(lambda) {
config.some(lambda === text)
}
Run Code Online (Sandbox Code Playgroud)
并像这样调用:
this.myMethod(x => x.site);
Run Code Online (Sandbox Code Playgroud)
如果要传递参数名称,可以这样做:
myMethod(key) {
config.some(x => x[key] === text)
}
myMethod('name');
Run Code Online (Sandbox Code Playgroud)
“lambda”传递实现如下所示:
myMethod(lambda) {
config.some(x => lambda(x) === text)
}
const nameLambda = (x) => x.name;
myMethod(nameLambda);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1418 次 |
| 最近记录: |