大佬教程收集整理的这篇文章主要介绍了如何连接重复的对象数组值,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个包含重复的 ID
属性的对象,我想将它们减少到一个数组。我只是想出了一种方法来查找唯一的 ID
,但是如何连接 name
属性?
const x = [
{ID: 1,name: 'green'},{ID: 2,name: 'red'},{ID: 1,name: 'blue'}
]
想要的结果:
[
{ID: 1,name: 'green,blue'},name: 'red'}
]
简单的 reduce 组合并使用 Object.values 来获得您想要的结果。
,
.reduce
迭代 x
,同时使用 @H_434_3@map 将 id
存储为 key
,将数组元素存储为 value
立>
id
的记录,只需将名称连接到它values
的 @H_434_3@map 将包含由 id
分组的所有数组元素,并让 name
包含所有元素。立>
,
使用 Set
获取 unique ids 列表的简单解决方案。
然后,使用 filter
和 @H_434_3@map 我们得到所有匹配的对象,并将名称join
放在一起。
const x = [
{id: 1,name: 'green'},{id: 2,name: 'red'},{id: 1,name: 'blue'}
]
const result = [];
const uniquEIDs = [...new Set(x.map(item => item.id))];
const merged = uniquEIDs.forEach((id) => {
// Matching ids
const match = x.filter((o) => o.id === id);
// Names of matching ids
const names = match.map(x => x.Name);
// Add new
result.push({
id,names: names.join(',')
});
});
console.log(result);
以上是大佬教程为你收集整理的如何连接重复的对象数组值全部内容,希望文章能够帮你解决如何连接重复的对象数组值所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。