数组 forEach() 与 reduce()
Array forEach() vs reduce()
您认为最好的方法是什么?
减少方式:
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
(无参数重新分配)
我认为 reduce
更好,因为它不会到处都是变量。你可以让它变得更好一点,imo。
var result = Object.keys(params).reduce((res,k)=>
this.model.hasOwnProperty(k)
? Object.assign(res, {[k]: this.model[k](params[k])})
: res, {});
您认为最好的方法是什么?
减少方式:
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
(无参数重新分配)
我认为 reduce
更好,因为它不会到处都是变量。你可以让它变得更好一点,imo。
var result = Object.keys(params).reduce((res,k)=>
this.model.hasOwnProperty(k)
? Object.assign(res, {[k]: this.model[k](params[k])})
: res, {});