在JS里,数组转对象是很常见操作,项目中,当后台返回给你个JSON数组,但是你要的却是一个JSON对象,你还在用for…循环来做吗?这里有更骚一点的操作,可以更快速地处理,一行代码搞定的。
假设后台工程师给你的是这样的:
var arr=[{id:1,name:"zhangsan"},{id:2,name:"lisi"},{id:3,name:"wangwu"}];
可以用reduce高阶函数来转成对象,要知道reduce的功能很强大,类似于云计算里的reduce功能:
var obj=arr.reduce((g,item)=>{g[item.id]=item;return g;},{});
没错, 这一句就够了,不要只拿reduce来sum了,干点别的吧。