ES6中可以使用Set数据结构来实现数组的自动去重。Set是一种类似于数组的数据结构,它可以存储任意类型的唯一值。
可以通过以下步骤来实现数组的自动去重:
const uniqueSet = new Set();
array.forEach(item => uniqueSet.add(item));
const uniqueArray = Array.from(uniqueSet);
完整的代码示例如下:
const array = [1, 2, 3, 4, 4, 5, 5, 6];
const uniqueSet = new Set();
array.forEach(item => uniqueSet.add(item));
const uniqueArray = Array.from(uniqueSet);
console.log(uniqueArray); // 输出:[1, 2, 3, 4, 5, 6]
另外,ES6中还提供了更简洁的写法,可以通过扩展运算符(spread operator)来实现数组的自动去重,如下所示:
const array = [1, 2, 3, 4, 4, 5, 5, 6];
const uniqueArray = [...new Set(array)];
console.log(uniqueArray); // 输出:[1, 2, 3, 4, 5, 6]
使用Set数据结构可以方便地实现数组的自动去重,但需要注意的是,Set中存储的值是唯一的,但它们的数据类型是不会进行隐式转换的。所以如果数组中有字符串和数字相同的值,它们仍然会被视为不同的值。