• 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
  • 相关阅读:
    老杨说运维 | 非常重要,事关转型
    创建第一个 Cypress 应用后使用命令行 npx Cypress open 报错的原因分析
    springcloud和基础服务的搭建以及封装
    软件项目管理 9.2.软件项目配置管理过程
    前端面试题记录
    Golang:使用archive/zip实现文件压缩
    英语词典缩略词
    改进乌鸦算法求解单目标优化问题
    看表情包学Linux:基本指令介绍
    MYSQLg高级------回表
  • 原文地址:https://blog.csdn.net/u014651560/article/details/127673633