js将数组对象里相同的值放到一个数组里
时间: 2023-08-29 14:02:58 浏览: 138
可以使用JavaScript的reduce()方法来将数组对象中相同的值放到一个数组里。
具体的方法是,首先使用reduce()方法遍历数组对象,通过判断当前元素值是否已经存在于结果数组中,来决定是否将当前元素值添加进结果数组中。如果当前元素值不存在于结果数组中,就将其添加进去;如果已存在,则跳过不做处理。最后返回结果数组。
下面是一个简单的示例代码:
```javascript
const arr = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 3, name: 'Alice' },
{ id: 4, name: 'Charlie' },
{ id: 5, name: 'Bob' }
];
const result = arr.reduce((acc, obj) => {
const existingObj = acc.find(item => item.name === obj.name);
if (!existingObj) {
acc.push(obj);
}
return acc;
}, []);
console.log(result);
```
在上述代码中,我们使用reduce()方法对数组对象进行遍历,acc代表结果数组,obj代表当前元素对象。我们通过在结果数组中查找与当前元素对象名称相同的对象进行判断,如果找不到则将当前元素对象添加进结果数组中。
运行以上代码将会得到如下结果:
```
[
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 4, name: 'Charlie' }
]
```
这样,数组对象中相同的值就被放到了一个数组里。