javascript - 数组重新组合
天蓬老师
天蓬老师 2017-04-11 11:14:43
[JavaScript讨论组]

一个数组:

var a = [
    {
        id: 5,
        name: 'a',
        age: '16'
    },
    {
        id: 5,
        name: 'b',
        age: '17'
    },
    {
        id: 5,
        name: 'c',
        age: '16'
    },
    {
        id: 6,
        name: 'd',
        age: '16'
    }
];

现在想把他转换成这样:

var b = [
    {
        id: 5,
        name: [
            a,
            b,
            c
        ],
        age: [
            16,
            17,
            16
        ]
    },
    {
        id: 6,
        name: 'd',
        age: '16'
    }
];

就是说,把id相同的两个合并,不相同的不变,怎么弄···

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(1)
PHP中文网

只能循环遍历

var ret = {};
for(let person of a) {
  let { id, name, age } = person;
  if(ret[id]) {
    ret[id].name = [].concat(ret[id].name, name);
    ret[id].age = [].concat(ret[id].age, age)
  } else {
    ret[id] = { id, name, age }
  }
}
ret = Object.values(ret);
console.log(ret);
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号