Set Map

Set 结构的实例有以下属性。

在 Set 内部,两个NaN是相等的。两个对象总是不相等的。

Set.prototype.constructor:构造函数,默认就是Set函数。
Set.prototype.size:返回Set实例的成员总数。
Set 实例的方法分为两大类:操作方法(用于操作数据)和遍历方法(用于遍历成员)。下面先介绍四个操作方法。

Set.prototype.add(value):添加某个值,返回 Set 结构本身。
Set.prototype.delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
Set.prototype.has(value):返回一个布尔值,表示该值是否为Set的成员。
Set.prototype.clear():清除所有成员,没有返回值。

let set = new Set();
set.add(1).add(2).add(2);
set.size // 2

set.has(2) // true
set.has(3) // false
set.delete(2);
set.has(2) //false

Array.from方法可以将 Set 结构转为数组。

const items = new Set([1, 2, 3, 4, 5]);
const array = Array.from(items);

Set 结构的实例有四个遍历方法,可以用于遍历成员。

Set.prototype.keys():返回键名的遍历器
Set.prototype.values():返回键值的遍历器
Set.prototype.entries():返回键值对的遍历器
Set.prototype.forEach():使用回调函数遍历每个成员

  • Set 是无重复值的有序列表。根据 Object.is()方法来判断其中的值不相等,以保证无重复。 Set
    会自动移除重复的值,因此你可以使用它来过滤数组中的重复值并返回结果。
    Set并不是数组的子类型,所以你无法随机访问其中的值。但你可以使用has() 方法来判断某个值是否存在于 Set 中,或通过 size
    属性来查看其中有多少个值。 Set 类型还拥有forEach()方法,用于处理每个值。
  • Weak Set 是只能包含对象的特殊 Set 。其中的对象使用弱引用来存储,意味着当 Weak
    Set中的项是某个对象的仅存引用时,它不会屏蔽垃圾回收。由于内存管理的复杂性, Weak Set的内容不能被检查,因此最好将 Weak
    Set 仅用于追踪需要被归组在一起的对象。
  • Map 是有序的键值对,其中的键允许是任何类型。与 Set 相似,通过调用 Object.is()方法来判断重复的键,这意味着能将数值 5
    与字符串 “5” 作为两个相对独立的键。使用set() 方法能将任何类型的值关联到某个键上,并且该值此后能用 get()
    方法提取出来。Map 也拥有一个 size 属性与一个 forEach() 方法,让项目访问更容易。
  • Weak Map 是只能包含对象类型的键的特殊 Map 。与 Weak Set
    相似,键的对象引用是弱引用,因此当它是某个对象的仅存引用时,也不会屏蔽垃圾回收。当键被回收之后,所关联的值也同时从 Weak Map
    中被移除。
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript 中的 SetMap 是两种不同的数据结构。 Set 是一种集合,它允许你存储不重复的值。可以用来存储任何类型的值,如数字、字符串、对象等。Set 中的值是无序的,不重复且唯一的。 以下是使用 Set 的示例代码: ```javascript // 创建一个空的 Set let set = new Set(); // 添加元素到 Set set.add(1); set.add('hello'); set.add({name: 'John'}); // 检查元素是否存在于 Set console.log(set.has('hello')); // 输出: true // 获取 Set 的大小 console.log(set.size); // 输出: 3 // 删除元素 set.delete(1); // 遍历 Set set.forEach((value) => { console.log(value); }); // 清空 Set set.clear(); ``` Map 是一种键值对的集合,也可以存储任意类型的值作为键和值。Map 中的键是唯一的,而值可以重复。 以下是使用 Map 的示例代码: ```javascript // 创建一个空的 Map let map = new Map(); // 添加键值对到 Map map.set('name', 'John'); map.set('age', 30); map.set('name', 'Jane'); // 覆盖已有的键 // 获取 Map 的大小 console.log(map.size); // 输出: 2 // 获取特定键的值 console.log(map.get('name')); // 输出: Jane // 检查键是否存在于 Map console.log(map.has('age')); // 输出: true // 删除键值对 map.delete('age'); // 遍历 Map 的键值对 map.forEach((value, key) => { console.log(key, value); }); // 清空 Map map.clear(); ``` 这是关于 JavaScript 中 SetMap 的基本介绍和用法。希望对你有所帮助!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值