一组素组把id相同的合并到新数组js
时间: 2023-07-22 14:08:10 浏览: 57
要将具有相同ID的元素合并到新数组中,你可以使用JavaScript中的`reduce`方法来实现。以下是一个示例代码:
```javascript
const array = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 1, name: 'Bob' },
{ id: 3, name: 'Alice' },
{ id: 2, name: 'Tom' }
];
const mergedArray = array.reduce((acc, curr) => {
const existingItem = acc.find(item => item.id === curr.id);
if (existingItem) {
existingItem.name += `, ${curr.name}`;
} else {
acc.push(curr);
}
return acc;
}, []);
console.log(mergedArray);
```
在上述代码中,我们有一个名为`array`的数组,它包含了多个对象,每个对象都有一个`id`属性。
通过使用`reduce`方法,我们遍历原始数组,并使用`find`方法来查找新数组`acc`中是否已经存在具有相同ID的元素。如果存在,则将当前元素的`name`属性合并到已存在的元素中;如果不存在,则将当前元素添加到新数组中。
最后,我们得到了一个合并后的新数组`mergedArray`,其中具有相同ID的元素被合并到了一起。
在上述示例中,新数组中的元素顺序与原始数组保持一致。如果你希望按照特定的排序规则对新数组进行排序,可以在最后添加相应的排序逻辑。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)