Map和Set是JavaScript中高效的内置数据结构,Map支持任意类型键值对并保持插入顺序,适用于频繁增删的场景;Set自动去重,适合维护唯一值集合;相比普通对象,Map在性能、键类型和安全性上更优;WeakMap和WeakSet提供弱引用,避免内存泄漏,常用于私有数据或元数据管理。

在现代JavaScript中,Map 和 Set 是两种非常实用的内置数据结构,它们弥补了传统对象和数组在某些场景下的不足。相比使用普通对象模拟键值对或去重数组,Map 和 Set 提供了更清晰、高效且语义明确的解决方案。
Map 是一个存储键值对的集合,与普通对象最大的不同在于它允许任何类型的值作为键——包括对象、函数、原始类型等。
常见操作包括:
示例:
立即学习“Java免费学习笔记(深入)”;
const user = { name: 'Alice' };Map 也支持遍历,使用 forEach 或 for...of 循环:
for (const [key, value] of map) {Set 是一种存储唯一值的集合,重复添加相同值时不会生效。它非常适合用于数组去重或维护一组不重复的数据。
基本用法包括:
例如,快速去除数组中的重复项:
本书是全面讲述PHP与MySQL的经典之作,书中不但全面介绍了两种技术的核心特性,还讲解了如何高效地结合这两种技术构建健壮的数据驱动的应用程序。本书涵盖了两种技术新版本中出现的最新特性,书中大量实际的示例和深入的分析均来自于作者在这方面多年的专业经验,可用于解决开发者在实际中所面临的各种挑战。
466
Set 同样支持遍历,方式与 Map 类似:
set.forEach(value => console.log(value));虽然对象也能存储键值对,但 Map 在以下方面更具优势:
而对象更适合静态配置或需要序列化的场景(如JSON.stringify)。
JavaScript 还提供了 WeakMap 和 WeakSet,它们只持有对键的“弱引用”,不会阻止垃圾回收。
特点包括:
例如,用 WeakMap 存储私有数据:
const privates = new WeakMap();基本上就这些。Map 和 Set 让JavaScript在处理集合数据时更加高效和直观,合理使用能提升代码质量与性能。
以上就是现代JavaScript_Map与Set数据结构的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号