我们有以下内容:
const contactsByLetter = props.contacts.reduce((obj, contact) =>{
const firstLetter = contact.name[0].toUpperCase()
return{
...obj,
[firstLetter]: [...(obj[firstLetter] || []),contact],
}
},{})
最后一行的{}是什么?
我认为它可能会将contactsByLetter作为一个空对象启动,但我尝试了以下操作并且它没有工作:
let contactsByletter={}
contactsByLetter = props.contacts.reduce((obj, contact) =>{
const firstLetter = contact.name[0].toUpperCase()
return{
...obj,
[firstLetter]: [...(obj[firstLetter] || []),contact],
}
})
答案 0 :(得分:1)
reduce
函数的第二个参数是accumulators初始值。
例如
如果您希望列表中的数字总和。
[1,2,3].reduce((a, b) => a+b)
给出了6。
[1,2,3].reduce((a, b) => a+b, 10)
给出16,因为初始值为10.
答案 1 :(得分:0)
这是减少功能的第二个论点。
实施例
var initialValue = 0;
var sum = [{x: 1}, {x:2}, {x:3}].reduce(
(accumulator, currentValue) => accumulator + currentValue.x
,initialValue
);
console.log(sum) // logs 6