一个对象数组中根据相同id合并,对象转数组

基础数据


let eduLevelArray = [
{
	id: "1",
	name: "张三",
	edu: "小学"
},{
	id: "2",
	name: "李四",
	edu: "初中"
},{
	id: "1",
	name: "张三",
	edu: "高中"
},{
	id: "2",
	name: "李四",
	edu: "大学"
},{
	id: "3",
	name: "王五",
	edu: "研究生"
}];

执行方法


let reArr = eduLevelArray.reduce((obj, item) => {
	if(obj[item.id]){
	   obj[item.id].edu.push(item.edu)
	}else{
	   item.edu = [item.edu]   
	   obj[item.id] = {...item}
	}
	 return obj;
}, {});

//执行Object方法
let mergedArray = Object.values(reArr);

console.log(mergedArray)

输出结果:


mergedArray = [{
	id: "1",
	name: "张三",
	edu:["小学", "高中"]
},{
	id: "2",
	name: "李四",
	edu: ["初中", "大学"]
},{
	id: "3",
	name: "王五",
	edu: ["研究生"]
}]
以上是编程学习网小编为您介绍的“一个对象数组中根据相同id合并,对象转数组”的全面内容,想了解更多关于 vuejs 内容,请继续关注编程基础学习网。

本文标题为:一个对象数组中根据相同id合并,对象转数组

基础教程推荐