new Set(),用來去重數組。
Set類似於數組,區別在於它所有的成員都是唯一的,不能有重復的值
數值去重:
let arr = [1, 2, 2, 3]; // [1, 2, 2, 3]
let set = new Set(arr); //去掉重復數據,返回結果是'set'
let newArr = Array.from(set); //將set轉化為數組
console.log(newArr); // [1, 2, 3]
對象去重:
const b={a:2}
let arr = [{a:1}, b, b, {a:3}]; //[{a:1},{a:2},{a:2},{a:3}]
let set = new Set(arr);
let newArr = Array.from(set);
console.log(newArr); // [{a:1},{a:2},{a:3}]
無法對象去重:
let arr = [{a:1}, {a:2}, {a:2}, {a:3}]; //[{a:1},{a:2},{a:2},{a:3}]
let set = new Set(arr);
let newArr = Array.from(set);
console.log(newArr); //[{a:1},{a:2},{a:2},{a:3}]
//方法一 es6的...解構
let unique1 = [...setArr ]; //去重轉數組后 [3,5,2]
//方法二 Array.from()解析類數組為數組
let unique2 = Array.from(setArr ) //去重轉數組后 [3,5,2]