new Set() 数组去重

 

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]

 

posted @ 2022-02-17 14:10  YoYo/切克闹  阅读(5012)  评论(0编辑  收藏  举报