• JS Set方法


    1 创建Set

    new Set()方式创建

    let s = new Set();
    
    • 1
    1.1、new Set()方式创建

    通过传入数组方式创建
    如果想在创建的同时初始化实例,则可以给 Set 构造函数传入一个可迭代对象,其中需要包含插入到新集合实例中的元素(Set 可以包含任何 JavaScript 数据类型作为值):

    let s = new Set([1,2,3,3,5])
    let s = new Set(["val1", 1, true, {}, undefined, function fun() {}]);
    
    • 1
    • 2
    1.2 Set结构不会添加重复的值
    const s = new Set([1, 1, 2, 3, 4, 4, 5, 6, 7, 4, 2, 1]);
    Array.from(s); //  [1, 2, 3, 4, 5, 6, 7]
    
    • 1
    • 2

    1.3 用Set解决数组去重问题

    const arr = [1, 2, 3, 3, 4, 5, 4, 4, 2, 1, 3];
    Array.from(new Set(arr)); // [1, 2, 3, 4, 5]
    
    • 1
    • 2

    2. 添加元素

    使用 add 方法

    let s = new Set()
    s.add(1) 
    
    • 1
    • 2

    3. 删除元素、

    使用 delete 方法

    let s = new Set()
    s.add(1)
    s.add(5)
    s.delete(5)
    
    • 1
    • 2
    • 3
    • 4

    4. 获取 Set 中元素个数

    使用 size

    let s = new Set()
    s.add(1)
    s.add(5)
    s.size
    
    • 1
    • 2
    • 3
    • 4

    5. 判断 Set 中是否包含某个元素

    has(): 查询Set实例是否存在某元素(返回布尔值):

    let s = new Set();
    s.add(1).add(2).add(3);
    s.has(1); // true
    
    • 1
    • 2
    • 3

    6. clear()

    clear(): 清空Set实例:

    let s = new Set();
    s.add(1).add(2).add(3);
    Array.from(s); // [1, 2, 3]
    s.clear();
    Array.from(s); // []
    
    • 1
    • 2
    • 3
    • 4
    • 5

    7. 迭代

    keys():返回键名;
    values(): 返回键值;
    entries(): 返回键值对;

    let s = new Set();
    s.add(1).add(2).add(3);
    Array.from(s.keys()); // [1, 2, 3]
    Array.from(s.values()); // [1, 2, 3]
    Array.from(s.entries()); // [[1, 1], [2, 2], [3, 3]]
    
    • 1
    • 2
    • 3
    • 4
    • 5

    8. 遍历 Set

    8.1. forEach形式
    const s = new Set();
    s.add(1).add(2).add(3);
    s.forEach((value, key) => console.log(key + ' : ' + value));
    // 1 : 1
    // 2 : 2
    // 3 : 3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    8.2. for of 形式
    const s = new Set();
    s.add(1).add(2).add(3);
    for (const i of s) {
    	console.log(i);
    }
    // 1
    // 2
    // 3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    9. Set 转换成数组

    使用 Array.from 方法

    let v = new Set([1,2,3,3,5])
    let a = Array.from(v)
    
    • 1
    • 2
  • 相关阅读:
    Pandas数据库大揭秘:read_sql、to_sql 参数详解与实战篇【第81篇—Pandas数据库】
    VAE模型(详细推导+实例代码)
    maven本地仓库配置
    以clion为例记录一次基于docker环境配置开发
    公布半小时下载量达10W:京东T5级架构师出品高并发核心编程手册
    CHAT 的知识库都有什么?
    Python实现BS架构Flask的Web学生管理信息系统
    图的最短路径问题 详细分解版
    服务网格 Service Mesh
    数仓开发之DWS层(二)
  • 原文地址:https://blog.csdn.net/u014651560/article/details/127673633