数组合并对象里相同属性值

//原始数据
var
arr = [ { "id": 1, "name": 'zengzhi', "age": 25 }, { "id": 1, "name": 'longlu', "age": 20 }, { "id": 2, "name": 'zengzhi2', "age": 25 }, ]; //想要的效果 // arr = [ // { // "id": 1, // "info": [ // { // "name": 'zengzhi', // "age": 25 // }, // { // "name": 'longlu', // "age": 20 // } // ] // }, // { // "id": 2, // "info": [ // { // "name": 'zengzhi2', // "age": 25 // } // ] // }, // ]; //实现代码: var listArr = []; arr.forEach((el) => { for (var i = 0; i < listArr.length; i++) { if (listArr[i].id == el.id) { listArr[i].listInfo.push({ name: el.name, age: el.age }); return; } } listArr.push({ id: el.id, listInfo: [{ name: el.name, age: el.age }] }) }) console.log(listArr);

 

posted @ 2018-12-04 17:47  曾志呀  阅读(2085)  评论(1编辑  收藏  举报