为了账号安全,请及时绑定邮箱和手机立即绑定

如何简写此ES6代码

如何简写此ES6代码

江户川乱折腾 2019-03-09 15:15:34
  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],{})

换汤不换药


查看完整回答
反对 回复 2019-03-18
?
子衿沉夜

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了


查看完整回答
反对 回复 2019-03-18
  • 3 回答
  • 0 关注
  • 558 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号