gpt4 book ai didi

javascript - 使用箭头函数将数组缩减为对象

转载 作者:行者123 更新时间:2023-11-30 08:23:45 27 4
gpt4 key购买 nike

我正在研究数组和箭头函数的限制,我正在尝试将这个 reduce 函数转换为箭头函数:

var monthsById = months.reduce(function(result, month) {
result[month.Id] = month;
return result;
}, {});

但是我在返回 map 时遇到了问题,因为 result[month.Id] = month; 将返回月份而不是像这种方法中的 map :

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);

关于javascript - 使用箭头函数将数组缩减为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49209046/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com