zoukankan      html  css  js  c++  java
  • JavaScript Set类的使用

    1.功能介绍

      Set对象是值的集合,你可以按照插入的顺序迭代它的元素。 Set中的元素只会出现一次,即 Set 中的元素是唯一的。另外,NaNundefined都可以被存储在Set 中, NaN之间被视为相同的值(NaN被认为是相同的,尽管 NaN !== NaN)

    2.基本使用

    const set = new Set()
    // 添加元素
    set.add(1)
    set.add('2')
    set.add('2')
    set.add(true)
    console.log(...set) // 1 "2" true,注意...set ==> 1,"2",true
    
    // 删除元素
    set.delete('2')
    console.log(...set) // 1 true
    console.log(set.delete(3)) // false 删除失败,set中不存在元素3
    
    // 判断元素是否存在
    console.log(set.has(1)) // true
    console.log(set.has(NaN))    // false,set中不存在元素NaN
    
    // 遍历set
    for (let [key, value] of set.entries()) {
        console.log(key, value) // 1 1
    true true,set的entries()中key, value相等
    }                
    set.forEach((value, key) => {
        console.log(value, key)    // 1 1
    true true
    })
    
    // 获取set中元素的数目
    console.log(set.size)    // 2
    set.clear() 
    console.log(set.size)    // 0
    
    // 转换成数组(下面案例已屏蔽上方的clear方法)
    console.log([...set])    // (2) [1, true]
    console.log(Array.from(set)) // (2) [1, true]
    console.log(Array.from(set.values()))    // (2) [1, true]
    console.log(Array.from(set.keys()))    // (2) [1, true]

    3.应用举例

    // 数组去重
    const repeatArr = [1, 2, 2, 3, 3, 4, 5]
    console.log(Array.from(new Set(repeatArr))) // (5) [1, 2, 3, 4, 5]
    
    // 字符串去重(大小写敏感)
    const set = new Set('woork')    
    console.log(set)    // Set(4) {"w", "o", "r", "k"}
    console.log([...set].join('')) // work
    console.log(new Set('wOork'))    // Set(5) {"w", "O", "o", "r", "k"}            

    4.参考文档

      https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Set

  • 相关阅读:
    Redis概述
    容器化VS微服务
    HTTP协议
    Java传参都是传引用变量的副本
    短连接、长连接和短轮询、长轮询
    Netty 5 获取客户端IP(非HTTP)
    Linux上从Java程序中调用C函数
    【转载】Log4j详细使用教程
    【转载】Windows下VSCode编译调试c/c++
    SpringCloud与Seata分布式事务初体验
  • 原文地址:https://www.cnblogs.com/haveadate/p/13856931.html
Copyright © 2011-2022 走看看