es6中 Set属性方法,以及遍历

33 篇文章 0 订阅
27 篇文章 0 订阅
<script type="text/javascript">
  //Set 实例的属性和方法
  //add(value):添加某个值,返回 Set 结构本身。
  //delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
  //has(value):返回一个布尔值,表示该值是否为Set的成员。
  //clear():清除所有成员,没有返回值。
   let setAdd =new Set();
   let setVal=setAdd.add(1);
   console.log(setAdd.size);//1
   console.log(setVal);//Set(1) {1}
   console.log(setVal.has(1)) // true);
   console.log(setVal.delete(1));
   console.log(setVal);//Set(0) {}
   //Array.from方法可以将 Set 结构转为数组。
   //这就提供了去除数组重复成员的另一种方法。
   const items = new Set([1, 2, 3, 4, 5]);
   const array = Array.from(items);
   console.log(array);//[1, 2, 3, 4, 5]

   function dedupe(array) {//这就提供了去除数组重复成员的另一种方法。
     return Array.from(new Set(array));
   }

   console.log(dedupe([1, 1, 2, 3, 2, 5, 3]));//[1,2,3,5]


   //Set遍历操作
   //Set 结构的实例有四个遍历方法,可以用于遍历成员。
   //keys():返回键名的遍历器
   //values():返回键值的遍历器
   //entries():返回键值对的遍历器
   //forEach():使用回调函数遍历每个成员
    const arr=['a','b','c'];
    let setArr=new Set(arr);
   for(let list of setArr.keys()){//keys():返回键名的遍历器
         console.log(list);
         //a
         //b
         //c
    }
   for(let item of setArr.values()){//values():返回键值的遍历器
         console.log(item);
         //a
         //b
         //c
   }
   for(let vs of setArr.entries()){//entries():返回键值对的遍历器
          console.log(vs);
          //["a":"a"]
          //["b":"b"]
          //["c":"c"]
   }
   for(let item of setArr){//直接用for...of循环遍历 Set
         console.log(item);
         //a
         //b
         //c
   }
   //forEach()
   //forEach方法的参数就是一个处理函数。该函数的参数与数组的forEach一致,依次为键值、键名、集合本身(上例省略了该参数)。这里需要注意,Set 结构的键名就是键值(两者是同一个值),因此第一个参数与第二个参数的值永远都是一样的。
   setArr.forEach(function(value,key){
     console.log(value+":"+key);
     //a:a
     //b:b
     //c:c
   })

  </script>
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑色咖啡 Ken

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值