Set和Map的用法

Set和Map的用法

Set 和 Map 是 ES6 引入的两种新的数据结构,它们为 JavaScript 提供了更多的数据组织方式。下面是它们的主要用法:

Set:

Set 是一种存储唯一值的集合,可以是任何类型的值(原始值或对象引用)。

  1. 创建 Set:

    let mySet = new Set();
    // 或者从数组创建
    let mySet = new Set([1, 2, 3, 4]);
    
  2. 添加值:

    mySet.add(5);
    mySet.add("some text");
    
  3. 删除值:

    mySet.delete(5);
    
  4. 检查值是否存在:

    mySet.has("some text"); // true
    
  5. 获取 Set 大小:

    mySet.size;
    
  6. 清空 Set:

    mySet.clear();
    
  7. 遍历 Set:

    for (let item of mySet) {
      console.log(item);
    }
    // 或者
    mySet.forEach((value) => console.log(value));
    
  8. 常见用途:

    • 去除数组中的重复元素
    • 保存不重复的值集合

Map:

Map 是一种存储键值对的集合,其中键和值都可以是任何类型。

  1. 创建 Map:

    let myMap = new Map();
    // 或者从二维数组创建
    let myMap = new Map([["key1", "value1"], ["key2", "value2"]]);
    
  2. 设置键值对:

    myMap.set("key3", "value3");
    
  3. 获取值:

    myMap.get("key1"); // "value1"
    
  4. 删除键值对:

    myMap.delete("key2");
    
  5. 检查键是否存在:

    myMap.has("key3"); // true
    
  6. 获取 Map 大小:

    myMap.size;
    
  7. 清空 Map:

    myMap.clear();
    
  8. 遍历 Map:

    for (let [key, value] of myMap) {
      console.log(key + " = " + value);
    }
    // 或者
    myMap.forEach((value, key) => console.log(key + " = " + value));
    
  9. 获取所有键或值:

    let keys = myMap.keys();
    let values = myMap.values();
    
  10. 常见用途:

    • 存储键值对数据
    • 创建关联数组(任何类型都可以作为键)

Set 和 Map 的主要区别:

  • Set 只存储值,而 Map 存储键值对
  • Set 中的值是唯一的,而 Map 允许重复的值(但键是唯一的)
  • Set 主要用于检查值是否存在,而 Map 用于存储和检索键值对

这两种数据结构为 JavaScript 开发者提供了更多的选择,可以根据具体需求选择合适的结构来组织和管理数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值