欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > Set对象和Map对象的区别和用途【JavaScript】

Set对象和Map对象的区别和用途【JavaScript】

2025/9/24 13:59:25 来源:https://blog.csdn.net/qq_53002037/article/details/144919424  浏览:    关键词:Set对象和Map对象的区别和用途【JavaScript】

引言:

在 JavaScript 中,Set 对象和 Map 对象都是 ES6 引入的新数据结构,它们各自有不同的用途和特点。

Set 对象:

用途:

Set对象用于存储一组唯一的值。它不允许有重复的元素,因此非常适合用于数组去重、集合运算(如并集、交集和差集)等场景。

特点‌:

  • Set对象中的值是唯一的,尝试添加已存在的值会被忽略。
  • Set对象中的值可以是任何类型,包括原始值和对象引用。
  • Set对象中的值是无序的,但通常在现代JavaScript引擎中,它们会保持插入顺序。

‌常用方法‌:

  1. add(value): 向Set中添加一个值。
  2. delete(value): 从Set中删除一个值。
  3. has(value): 检查Set中是否包含某个值。
  4. clear(): 清除Set中的所有值。
  5. size: 返回Set中元素的数量。

示例:

const mySet = new Set();
mySet.add(1);
mySet.add(2);
mySet.add(2); // 重复添加,不会生效
console.log(mySet); // Set { 1, 2 }

Map对象:

‌用途‌:

Map对象用于存储键值对,其中键可以是任何类型,包括对象、函数等。它适用于需要根据键快速查找和访问值的情况,如缓存、字典、关联数组等。

‌特点‌:

  1. Map对象中的键是唯一的,但不同的键可以对应相同的值。
  2. Map对象中的键和值都可以是任何类型,提供了比传统对象更灵活的键值对存储机制。
  3. Map对象会记住键的原始插入顺序,因此迭代时会按照插入顺序返回键值对。

‌常用方法‌:

  1. set(key, value): 向Map中添加一个键值对。
  2. get(key): 根据键获取对应的值。
  3. delete(key): 根据键删除一个键值对。
  4. has(key): 检查Map中是否包含某个键。
  5. clear(): 清除Map中的所有键值对。
  6. size: 返回Map中键值对的数量。

示例:

const myMap = new Map();
myMap.set('key1', 'value1');
myMap.set('key2', 'value2');
console.log(myMap.get('key1')); // 'value1'
console.log(myMap); // Map { 'key1' => 'value1', 'key2' => 'value2' }

总结:

Set对象用于存储一组唯一的值,适用于需要排除重复元素的场景。
Map对象用于存储键值对,其中键可以是任意类型,适用于需要根据键快速查找和访问值的情况。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词