深入解析: Set、Map、WeakSet 和 WeakMap 的区别

本文介绍了JavaScript中的四种数据结构:Set、Map、WeakSet和WeakMap。Set用于存储唯一值,不允许重复;Map是键值对集合,键可以是任何类型且有序;WeakSet和WeakMap使用弱引用,当对象不再被其他地方引用时会被自动清理,常用于内存优化。这些数据结构各有特点,适用于不同的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

📈「作者简介」:不知名十八线技术博主【ai_todo】
📚「推荐主页」:前端小姐姐【阿珊和她的猫】
🎁「推荐专栏」:《从0到0.01入门React》
🕐「简历必备」前后端实战项目(推荐:⭐️⭐️⭐️⭐️⭐️)

当谈到集合和映射数据结构时,JavaScript提供了四种不同的内建对象:Set、Map、WeakSet和WeakMap。它们具有不同的特点和用途。

1. Set(集合)

  • Set对象允许存储任何类型的唯一值,不允许重复。
  • Set中的值是无序的,无法通过索引访问。
  • 通过add()方法添加值到Set中,通过has()方法检查值是否存在,通过delete()方法删除值。
  • 可以使用size属性获取Set中的值的数量。
  • Set是迭代器,可以使用forEach()for...of循环遍历Set中的值。

当使用Set(集合)时,你可以执行以下操作的示例代码:

  1. 创建一个空的Set:
const set = new Set();
  1. 向Set中添加值:
set.add("apple");
set.add("banana");
set.add("orange");
  1. 检查值是否存在于Set中:
console.log(set.has("apple"));     // 输出: true
console.log(set.has("grape"));     // 输出: false
  1. 从Set中删除值:
set.delete("banana");
console.log(set);                  // 输出: Set { "apple", "orange" }
  1. 获取Set的大小:
console.log(set.size);             // 输出: 2
  1. 遍历Set中的值:
set.forEach(value => {
   
  console.log(value);
});
// 输出:
// apple
// orange

// 或者使用for...of循环
for 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值