ES6 提供了新的數據結構 Set。它類似於數組,但是成員的值都是唯一的,沒有重復的值。
使用Set實現數組去重要簡單很多。
第一種數組去重方法(使用Array.from):
let arr = [12,43,23,43,68,12];
let item = new Set(arr);
console.log(item);//結果輸出的是一個對象
//使用Array.from轉成數組
let arr = [12,43,23,43,68,12];
let item = Array.from(new Set(arr));
console.log(item);// [12, 43, 23, 68]
備注:Array.from
方法用於將兩類對象轉為真正的數組:類似數組的對象(array-like object)和可遍歷(iterable)的對象(包括 ES6 新增的數據結構 Set 和 Map)。
第二種數組去重方法(使用...擴展運算符):
let arr = [12,43,23,43,68,12];
let item = [...new Set(arr)];
console.log(item);//[12, 43, 23, 68]
備注:擴展運算符(spread)是三個點(...
)。它好比 rest 參數的逆運算,將一個數組轉為用逗號分隔的參數序列。