js修改 数组对象重复值
时间: 2023-08-21 16:04:24 浏览: 233
如果你想要修改数组对象中的重复值,可以按照以下步骤:
1. 找到数组中所有重复的值
- 可以使用 `reduce` 方法来创建一个新的数组,只包含重复的值
- 也可以使用 `filter` 方法来过滤出重复的值
2. 对于每个重复的值,进行修改
- 可以使用 `map` 方法来修改每个重复的值
以下是一个示例代码,演示如何修改数组对象中的重复值:
```javascript
const arr = [
{ id: 1, name: "John" },
{ id: 2, name: "Jane" },
{ id: 3, name: "John" },
{ id: 4, name: "Peter" },
{ id: 5, name: "Jane" }
];
// 找到所有重复的值
const duplicates = arr.reduce((acc, curr, index, array) => {
if (array.findIndex(item => item.name === curr.name) !== index && acc.indexOf(curr.name) === -1) {
acc.push(curr.name);
}
return acc;
}, []);
// 对于每个重复的值,进行修改
const modifiedArr = arr.map(item => {
if (duplicates.indexOf(item.name) !== -1) {
return { ...item, name: `${item.name} (modified)` };
}
return item;
});
console.log(modifiedArr);
```
在上面的示例中,我们使用 `reduce` 方法找到了所有重复的值,然后使用 `map` 方法对每个重复的值进行了修改。最终输出的结果是:
```javascript
[
{ id: 1, name: "John" },
{ id: 2, name: "Jane" },
{ id: 3, name: "John (modified)" },
{ id: 4, name: "Peter" },
{ id: 5, name: "Jane (modified)" }
]
```
阅读全文