【ES6】集合的使用

ES6提供了新的数据结构Set(集合)。它类似于数组,但成员的值都是唯一的,集合实现了iterator接口,所以可以使用「扩展运算符』和「 for …f…』进行遍历,集合的属性和方法:

  1. size返回集合的元素个数
  2. add增加一个新元素,返回当前集合
  3. delete删除元素,返回boolean值
  4. has检测集合中是否包含某个元素,返回boolean值

实例:

let arr = [1,2,3,2,5,6,2];
let set1 = new Set(arr);

// 元素个数size
console.log(set1.size);

//添加元素
set1.add(9)

//删除元素
set1.delete(5)

//检测元素
console.log(set1.has(5));

//遍历元素
for(let i of set1){
    
    
   console.log(i);
}

//清空集合
set1.clear() ;

console.log(set1);

集合实践

let arr1 = [1,2,3,5,6,4,2,1];
console.log(arr1);
//1.数组去重
let s = [...new Set(arr1)];
console.log(s);

//排序
let s1 = s.sort((a,b)=>{
    
    
    return a-b
})
console.log(s1);

//2.求交集
let arr2 = [3,4,5,6,8,7];
let s2 = [...(new Set(arr2))];
console.log(s2);
let result = s.filter(item=>{
    
    
    return new Set(arr2).has(item)
})
console.log(result);

//3.求并集
let result2 = [...new Set([...arr1,...arr2])].sort((a,b)=>{
    
    
    return a-b
});
console.log(result2);

//4.求差集
let result3 = s.filter(item=>{
    
    
    return !(new Set(arr2).has(item))
})
console.log(result3);

猜你喜欢

转载自blog.csdn.net/weixin_46277553/article/details/126517963