leta=[{name:"1",status:"1"},{name:"2",status:"1"},{name:"3",status:"2"},{name:"4",status:"2"},{name:"5",status:"3"},{name:"6",status:"bbb"}]{'1':[{name:"1",status:"1"},{name:"2",status:"1"}],'2':[{name:"3",status:"2"},{name:"4",status:"2"}],'3':[{name:"5",status:"3"}],'bbb':[{name:"6",status:"bbb"}]}用ES6如何把上面的变成下面这种结构,萌新求救。就是把status提出来当下面的键值。
2 回答

冉冉说
TA贡献1877条经验 获得超1个赞
不用一个一个push,对每一个status直接filter一下就行了letresult=a.reduce((acc,{status})=>(acc[status]?acc:{...acc,[status]:a.filter(item=>item.status===status)}),{})

繁星点点滴滴
TA贡献1803条经验 获得超3个赞
varresult={};a.forEach(item=>{result[item.status]=result[item.status]||[];result[item.status].push(item);});console.log(result)
添加回答
举报
0/150
提交
取消