【发布时间】:2016-09-24 12:01:06
【问题描述】:
你认为最好的方法是什么?
减少方式:
const result = Object.keys(params).reduce(
(previous, key) => {
if (this.model.hasOwnProperty(key)) previous[key] = this.model[key](params[key]);
return previous;
}, {});
ForEach 方式:
const result = {};
Object.keys(params).forEach(key => {
if (this.model.hasOwnProperty(key)) result[key] = this.model[key](params[key]);
});
我正在使用 airbnb eslint,它不喜欢 reduce 方式,因为我修改了 previous (no-param-reassign)
【问题讨论】:
-
您的两种方法都返回相同的结果?
-
是的,只是语法问题! :)
-
如果您不需要“汇总”数组值 - 使用
forEach函数 -
那你觉得@naomik anwser 怎么样?
-
由于您询问的是 ES6,
.forEach已被for … of有效弃用。
标签: javascript eslint eslint-config-airbnb