现在有数据如下所示:var _arr = [{'area':'北京','name':'刘德华'},{'area':'西安','name':'小明'},{'area':'德国','name':'小红'},{'area':'德国','name':'小李'},{'area':'东北','name':'小赵'},{'area':'东北','name':'小华'}];希望将数据重新组装成var _arr = [{'area':'北京','name':['刘德华']},{'area':'西安','name':['小明']},{'area':'德国','name':['小红','小李']},{'area':'东北','name':['小赵','小华']}];也就是对area进行判断 如果area相同,将名字归入到同一个数组,求方法。
2 回答
精慕HU
TA贡献1845条经验 获得超8个赞
用map就行
let m = {}
for(let i = 0; i< _arr.length; i++){
let t = _arr[i]
if(!m[t.area]){
m[t.area] = []
}
m[t.area].push(t.name)
}
let arr = []
for(let key in m){
arr.push({ area: key, name: m[key] })
}
添加回答
举报
0/150
提交
取消