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贡献1895条经验 获得超7个赞
不用一个一个push,对每一个status直接filter一下就行了letresult=a.reduce((acc,{status})=>(acc[status]?acc:{...acc,[status]:a.filter(item=>item.status===status)}),{})
MMMHUHU
TA贡献1834条经验 获得超8个赞
varresult={};a.forEach(item=>{result[item.status]=result[item.status]||[];result[item.status].push(item);});console.log(result)
添加回答
举报
0/150
提交
取消