首页 > 其他分享 >ES6之Set

ES6之Set

时间:2022-11-20 15:14:39浏览次数:43  
标签:ES6 Set console log s2 let new

Set ES6 提供了新的数据结构 Set(集合)。它类似于数组,但成员的值都是唯一的,集合实现了 iterator 接口,所以可以使用『扩展运算符』和『for…of…』进 行遍历,集合的属性和方法: 1) size 返回集合的元素个数 2) add 增加一个新元素,返回当前集合 3) delete 删除元素,返回 boolean 值 4) has 检测集合中是否包含某个元素,返回 boolean 值 5) clear 清空集合,返回 undefined

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>集合</title>
</head>
<body>
    <script>
        //声明一个 set
        let s = new Set();
        let s2 = new Set(['大事儿','小事儿','好事儿','坏事儿','小事儿']);

        //元素个数
         console.log(s2.size);
        //添加新的元素
          s2.add('喜事儿');
        //删除元素
          s2.delete('坏事儿');
        //检测
          console.log(s2.has('糟心事'));
        //清空
         s2.clear();
         console.log(s2);

        for(let v of s2){
            console.log(v);
        }
        
    </script>
</body>
</html>

 

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Set 实践</title>
</head>
<body>
    <script>
        let arr = [1,2,3,4,5,4,3,2,1];
        //1. 数组去重
        let result = [...new Set(arr)];
        console.log(result);
        //2. 交集  
        let arr2 = [4,5,6,5,6];
        // 先去重,数据少,性能就会高
        let result1 = [...new Set(arr)].filter(item => {
            let s2 = new Set(arr2);// 4 5 6
            if(s2.has(item)){
                return true;
            }else{
                return false;
            }
        });
        let result2 = [...new Set(arr)].filter(item => new Set(arr2).has(item));
        console.log(result2);

        //3. 并集
        let union = [...new Set([...arr, ...arr2])];
        console.log(union);

        //4. 差集
        let diff = [...new Set(arr)].filter(item => !(new Set(arr2).has(item)));
        console.log(diff);

    </script>
</body>

</html>

 

标签:ES6,Set,console,log,s2,let,new
From: https://www.cnblogs.com/anjingdian/p/16908515.html

相关文章

  • ES6之Map
    MapES6提供了Map数据结构。它类似于对象,也是键值对的集合。但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。Map也实现了iterator接口,所以可以使用......
  • ES6之Promise
    PromisePromise是ES6引入的异步编程的新解决方案。语法上Promise是一个构造函数,用来封装异步操作并可以获取其成功或失败的结果。1)Promise构造函数:Promise(e......
  • Redis学习(六)之redis中的数据类型之SortedSet类型
      1、sortedset中每个元素有一个浮点值。 2、浮点值越大的,元素排序就大,浮点值相同,则按元素的字符串值比较。 3、元素必须唯一。  1、ZADDkey[NX|XX][GT......
  • Git reset 的hard、soft、mixed参数对比
    目录分区概念1.--soft参数2.--mixed参数3.--hard参数分区概念先要清楚在本地,git会分三个区:工作区、暂存区、本地库。当使用去做版本移动的时候,那么在使用【--hard】......
  • ES6之生成器
    生成器生成器函数是ES6提供的一种异步编程解决方案,语法行为与传统函数完全不同比如:function*gen(){yield'一只没有耳朵';yield'一只没有尾巴';return'真......
  • ES6之迭代器
    迭代器遍历器(Iterator)就是一种机制。它是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署Iterator接口,就可以完成遍历操作。1)ES6创造了一种......
  • Pod控制器详解(ReplicaSet)
    Pod控制器详解Pod控制器介绍Pod是kubernetes的最小管理单元,在kubernetes中,按照pod的创建方式可以将其分为两类:-自主式pod:kubernetes直接创建出来的Pod,这种pod删除后就......
  • git reset回退到指定commitid
    gitreflog能看到当前HEAD指向的commitlog,如果gitreset找不到文件了,尝试用这个命令,然后reset到想要回退的那个版本。一般来说,要回退版本,用--mix选项回退到到前一个版本,......
  • Auxiliary Set题解
    FAuxiliarySet树上LCA+DFS注意一下输出格式!#include<bits/stdc++.h>usingnamespacestd;constintN=1e5+10;intt,n,q,ans;intfa[N];//存储点i的......
  • java——集合——Set集合——可变参数
    可变参数可变参数:是JDK1.5之后出现的新特性使用前提:当方法的参数列表数据类型已经确定,但是参数的个数不确定,就可以使用可变参数.使用格式:定义方法时使用修饰符......