var arr =[{id:1,name:'name1'},{id:4,name:'name2'},{id:5,name:'name3'}];arr.reduce((all,i)=>{ all[i.id]=i.name; return all },{}请问这段代码可以不写return实现同样效果吗?
3 回答
波斯汪
TA贡献1811条经验 获得超4个赞
var arr =[{id:1,name:'name1'},{id:4,name:'name2'},{id:5,name:'name3'}];
arr.reduce((all,i)=>[all[i.id]=i.name,all][1],{})
换汤不换药
子衿沉夜
TA贡献1828条经验 获得超3个赞
reduce 不写return没效果的。
最多就变成 return (all[i.id] = i.name), all
var arr = [{ id: 1, name: 'name1' }, { id: 4, name: 'name2' }, { id: 5, name: 'name3' }]
arr.reduce((all, i) => ((all[i.id] = i.name), all), {})
或者你自己声明一个对象,然后给对象添加属性。就不用return了
添加回答
举报
0/150
提交
取消
