我正在研究数组和箭头函数的限制,并且尝试将此归约函数转换为箭头函数:
var monthsById = months.reduce(function(result, month) {
result[month.Id] = month;
return result;
}, {});
但我在归还地图时遇到了麻烦,因为result[month.Id] = month;
将返回月份而不是地图,就像这种方法一样:
var monthsById = months.reduce((byId, month) => byId[month.Id] = month, {});
所以我正在寻找一个单独的语句,它设置值并返回对象。 (new Map()
不是一个选项,因为我在常规中需要它{}
格式)。
var months = [ { Id: 1 }, { Id: 2 }, { Id: 3 } ];
var monthsById = months.reduce((byId, month) => byId[month.Id] = month, {});
console.log(monthsById);
您可以返回byId
在每次迭代中并将函数体括在括号中()
var months = [ { Id: 1 }, { Id: 2 }, { Id: 3 } ];
var monthsById = months.reduce((byId, month) => (byId[month.Id] = month, byId), {});
console.log(monthsById);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)