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

发布于 2022-09-07 07:33:56 字数 443 浏览 24 评论 0

现在有数据如下所示:

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相同,将名字归入到同一个数组,求方法。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

给我一枪 2022-09-14 07:33:56

用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] })
}
过期情话 2022-09-14 07:33:56

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文