es6数组对象去重的方法有哪几种
在ES6中,有以下几种方法可以对数组对象进行去重:
- 使用Set:Set是ES6中新增的数据结构,它可以保证集合中的元素都是唯一的,可以使用Set去除数组中的重复项,然后再将Set转换回数组。示例代码如下:
const arr = [1, 2, 3, 3, 4, 5, 5];
const uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // [1, 2, 3, 4, 5]
- 使用Array.from()和Set:可以先使用Array.from()将数组转换为Set,再将Set转换回数组。示例代码如下:
const arr = [1, 2, 3, 3, 4, 5, 5];
const uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr); // [1, 2, 3, 4, 5]
- 使用filter()方法:可以使用filter()方法遍历数组,保留第一次出现的元素,过滤掉后面重复出现的元素。示例代码如下:
const arr = [1, 2, 3, 3, 4, 5, 5];
const uniqueArr = arr.filter((item, index) => arr.indexOf(item) === index);
console.log(uniqueArr); // [1, 2, 3, 4, 5]
- 使用reduce()方法:可以使用reduce()方法遍历数组,将每个元素添加到结果数组中,但是只添加第一次出现的元素,过滤掉后面重复出现的元素。示例代码如下:
const arr = [1, 2, 3, 3, 4, 5, 5];
const uniqueArr = arr.reduce((result, item) => {
if (!result.includes(item)) {
result.push(item);
}
return result;
}, []);
console.log(uniqueArr); // [1, 2, 3, 4, 5]
这些方法都可以有效地对数组对象进行去重操作。