为了账号安全,请及时绑定邮箱和手机立即绑定

js 如何将数组重复元素归类组装成树形结构

js 如何将数组重复元素归类组装成树形结构

智慧大石 2019-03-19 17:19:35
现在有数据如下所示: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] })

}


查看完整回答
反对 回复 2019-04-01
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

处理数组、对象数据的思路很重要,一般手段是递归,或者借助第3个变量来完成遍历,还可以利用对象key值不重复的原理做很多事情。


查看完整回答
反对 回复 2019-04-01
  • 2 回答
  • 0 关注
  • 943 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信