js数组去重
时间: 2023-06-21 21:09:55 浏览: 157
js中数组对象去重的两种方法
5星 · 资源好评率100%
可以使用下面的代码来实现数组去重:
```
function removeDuplicates(arr) {
return Array.from(new Set(arr));
}
```
使用 Set 对象可以帮助我们去除数组中的重复项。Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。
举个例子:
```
let arr = [1, 2, 3, 4, 5, 1, 2, 3, 4];
let unique = Array.from(new Set(arr));
console.log(unique); // [1, 2, 3, 4, 5]
```
注意:这种方法只能去除数组中的重复项,如果有多个相同的对象,那么它们都不会被删除。
如果你想要去除数组中的对象的话,可以使用以下方法:
```
function removeDuplicates(arr, key) {
let lookup = new Set();
return arr.filter(obj => !lookup.has(obj[key]) && lookup.add(obj[key]));
}
let arr = [
{id: 1, name: 'John'},
{id: 2, name: 'Jane'},
{id: 3, name: 'John'},
{id: 4, name: 'Jack'},
{id: 5, name: 'Jane'}
];
let unique = removeDuplicates(arr, 'name');
console.log(unique);
// [
// {id: 1, name: 'John'},
// {id: 2, name: 'Jane'},
// {id: 4, name: 'Jack'}
// ]
```
在这个例子中,我们使用了一个 Set 对象和 filter 方法来去除数组中的对象。我们首先创建了一个 Set 对象,然后使用 filter 方法遍历数组,并返回一个新的数组,其中包含的元素是不存在于 Set 对象中的
阅读全文