需求:后端返回一个数组
[{"id": 11,"group": "client"}, {"id": 12,"group": "client"}, {"id": 13,"group": "manage"}]
将获取到的数组,通过group字段来去区分,把相同组的id提取到一个数组中,用组来做键名,希望得到如何结构:
{client:[11,12],manage:[13]}
数组长度不固定,组的类别不固定。
let groupArr = [{"id": 11,"group": "client"}, {"id": 12,"group": "client"}, {"id": 13,"group": "manage"}];
let groupSet = new Set();
let groupObj = {}
groupArr.forEach(val=>{
if(!groupSet.has(val.group)){//没有值,添加
groupSet.add(val.group)
groupObj[val.group] = []
groupObj[val.group].push(val.id)
}else{
groupObj[val.group].push(val.id)
}
})