如何合并数组中相同序号的元素
时间: 2024-12-01 18:29:17 浏览: 47
合并数组中相同序号的元素通常意味着将数组按照某个键值进行分组,然后对每个组内的元素进行累加或取其他聚合操作。这里以JavaScript为例,假设我们有一个对象数组,每个对象都有一个键作为排序依据:
```javascript
let array = [
{ id: 1, value: 5 },
{ id: 2, value: 7 },
{ id: 1, value: 8 },
{ id: 3, value: 2 },
];
```
我们可以使用`reduce()`函数和一个临时对象来实现这个任务:
```javascript
let result = array.reduce((acc, curr) => {
acc[curr.id] ? acc[curr.id].push(curr.value) : (acc[curr.id] = [curr.value]);
return acc;
}, {});
// 结果会是一个新的对象,如:{ 1: [5, 8], 2: [7], 3: [2] }
```
如果目标是简单的数值数组,可以先将其转换为映射(map),然后合并相同索引的值:
```javascript
let numbersArray = [1, 2, 3, 4, 1, 2];
let groupedNumbers = Array.from(new Map(numbersArray.reduce((map, num, idx) => map.set(idx, [...(map.get(idx) || []), num]), {})));
// 结果:[1, 2, 3, 4, 1, 2]
```
阅读全文
相关推荐




















