ES6 .Set数据结构去除重复元素

本文详细介绍了JavaScript中Set数据结构的基本用法,包括创建、遍历、扩展运算符使用、清空与删除元素、判断元素存在性及获取长度等基本操作,并深入探讨了如何通过Set实现并集、交集和差集的计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用法一

var set = new Set([1, 2, 3, 4, 2, 8, 4]); //两个2   
for (var elem of set) {   
  console.log(elem)   // 输出结果 1 2 3 4 8
}   

用法二结合.map遍历和for循环

var set = new Set();   
[1, 2, 3, 4, 2, 8, 4].map(function (elem) {   
  set.add(elem);   //遍历完用add添加至set数组中
})   
for (let elem of set) { //利用for...of循环遍历出来   
  console.log(elem)   
}   

扩展运算符

var set = new Set([1, 2, 3, 4, 2, 8, 4]);   
var arr = [...set];//扩展运算符(…)内部使用for…of循环,   
console.log(arr);   // 输出 [1,2,3,4,8] 

清空、删除

var set = new Set([1, 2, 3, 4, 2, 8, 4]);   
// set.clear(); //清空  直接就清空掉所有元素  
set.delete(8); //删除  选中元素 
var arr = [...set]; //扩展运算符(…)内部使用for…of循环,      
console.log(arr);    //上面删除了8 输出结果为 [1,2,3,4] 

判断set中是否含有

console.log(set.has(8));  //有就返回true 没有返回false

判断set中长度

console.log(set.size); 

求并集、交集、差集

并集

  let a = new Set([1, 2, 3]);  
    let b = new Set([4, 3, 2]);  
   
   let union = new Set([...a,...b]); // 把上面两个对象合到一个数组中通过扩展运算符(…)内部使用for…of循环遍历出来最后通过Set去重复就可以输出了
   console.log([...union]); //输出交集结果 [1,2,3,4]

交集

let a = new Set([1, 2, 3]);  
    let b = new Set([4, 3, 2]); 

let intersect = [...a].filter(function(elem){ //把a对象遍历出来 return b.has(elem); //把遍历出来的对象通过has判断是否与a一样,最后把一样的给返回 }); console.log(intersect); //输出结果 [2,3]

差集

  let a = new Set([1, 2, 3]);  
    let b = new Set([4, 3, 2]);  

   let difference  = [...a].filter(function(elem){
      return !b.has(elem);  //b的差集为1  首先Set已经去掉了重复的,has去掉了相同的,!取反那就是a里面b没有的,也就是差集,概念上的东西
   });
   console.log(difference); //输出结果 [1]

转载于:https://www.cnblogs.com/Model-Zachary/p/6131181.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值