ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。
Array.from方法可以将 Set 结构转为数组。
扩展运算符内部调用的是数据结构的 Iterator 接口,因此只要具有 Iterator 接口的对象,都可以使用扩展运算符,比如 Map 结构、Set结构。
方法一:利用扩展运算符和Set成员的唯一性
const arr=[1,1,1,2,3,3,3,6,8]; function unique(arr){ return [...new Set(arr)]; } unique(arr);
方法二:利用Array.from()和Set成员唯一性
const arr=[1,1,1,2,2,2,4,4,5,5,6]; function unique(arr){ return Array.from(new Set(arr)); } console.log(unique(arr));