一个数组对象根据时间字段的相同 来 拼接另一个字段地址
时间: 2024-04-08 18:02:32 浏览: 103
如果你有一个数组对象,想要根据时间字段的相同来拼接另一个字段地址,你可以使用 JavaScript 的数组方法 `reduce()` 来实现。
以下是一个示例代码:
```javascript
const array = [
{ time: '2022-01-01', address: 'Avenue 1' },
{ time: '2022-01-02', address: 'Street 2' },
{ time: '2022-01-01', address: 'Road 3' },
{ time: '2022-01-03', address: 'Lane 4' }
];
const mergedArray = array.reduce((result, obj) => {
const existingObj = result.find(item => item.time === obj.time);
if (existingObj) {
existingObj.address += ', ' + obj.address;
} else {
result.push(obj);
}
return result;
}, []);
console.log(mergedArray);
// 输出: [
// { time: '2022-01-01', address: 'Avenue 1, Road 3' },
// { time: '2022-01-02', address: 'Street 2' },
// { time: '2022-01-03', address: 'Lane 4' }
// ]
```
在上面的示例中,我们有一个数组对象 `array`,其中包含了时间字段 `time` 和地址字段 `address`。我们使用 `reduce()` 方法遍历数组,并在每次迭代时检查是否存在相同的时间字段。
如果存在相同的时间字段,则在现有对象的地址字段后面添加新的地址。如果不存在相同的时间字段,则将整个对象添加到结果数组中。
最后,我们得到了一个按照时间字段合并地址的数组对象 `mergedArray`。注意,地址字段使用逗号进行拼接。
阅读全文