gpt4 book ai didi

javascript - 根据属性合并数组中的对象

转载 作者:行者123 更新时间:2023-11-30 15:23:54 26 4
gpt4 key购买 nike

我有一个像这样的数组,我正在尝试合并它,因此任何具有相同名称属性的对象在合并后都将包含一个合并对象列表

var array = [ 
{name: "One",
myList: [Object1, Object2]
},
{name: "Two",
myList: [Object3, Object4]
},
{name: "One",
myList: [Object5, Object6]
}
]

我如何合并两个“一个”对象,以便得到类似的东西

var array = [ 
{name: "One",
myList: [Object1, Object2, Object5, Object6]
},
{name: "Two",
myList: [Object3, Object4]
}
]

希望在 vanilla javascript 中做到这一点

最佳答案

使用reduce:

var merged = array.reduce(function(list, obj) {
var found = false;
for (var i = 0; i < list.length; i++) {
if (list[i].name == obj.name) {
list[i].myList = list[i].myList.concat(obj.myList);
found = true;
break;
}
}

if (!found) {
list.push(obj);
}

return list;
}, []);

关于javascript - 根据属性合并数组中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43281272/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com