美文网首页
JS合并数组对象中key相同的数据

JS合并数组对象中key相同的数据

作者: friendshi洛初Udo邭 | 来源:发表于2021-03-29 13:46 被阅读0次

原数据:

[

{ city_id: 1, city_name: '南京', province: '江苏' },

{ city_id: 2, city_name: '苏州', province: '江苏' },

{ city_id: 3, city_name: '淮安', province: '江苏' },

{ city_id: 4, city_name: '杭州', province: '浙江' },

{ city_id: 5, city_name: '金华', province: '浙江' }

];

目标数据:

[

{ id: 0, province: '江苏', child: [

{ city_id: 1,city_name: '南京',province: '江苏' },

{ city_id: 2,city_name: '苏州',province: '江苏' },

{ city_id: 3,city_name: '扬州',province: '江苏' }

]

},

{ id: 1, province: '浙江', child: [

{ city_id: 4, city_name: '杭州', province: '浙江' },

{ city_id: 5, city_name: '金华', province: '浙江' }

]

}

];

实现方法,话不多说,直接上代码。

let dataInfo = {};

data.forEach((item, index) => {

let { province } = item;

if (!dataInfo[province]) {

dataInfo[province] = {

id: index,

province,

child: []

}

}

dataInfo[province].child.push(item);

});

let list = Object.values(dataInfo); // list 转换成功的数据

相关文章

网友评论

      本文标题:JS合并数组对象中key相同的数据

      本文链接:https://www.haomeiwen.com/subject/wzkbhltx.html