JavaScript集合引用类型——Set
基本API
- 创建的同时初始化实例:
1 | // 使用数组初始化集合 |
- 初始化之后,可以使用:
- add ()增加值;
- has()查询;
- size取得元素数量;
- delete()删除元素;
1 | const s = new Set(); |
- Set 可以包含任何 JavaScript 数据类型作为值:
1 | const s = new Set(); |
- 用作值的对象和其他“集合”类型在自己的内容或属性被修改时也不会改变:
1 | const s = new Set(); |
- add()和delete ()操作是幂等的;
- delete()返回一个布尔值,表示集合中是否存在要删除的值:
1 | const s = new Set(); |
顺序与迭代
- 集合实例可以提供一个迭代器( Iterator ),能以插入顺序生成集合内容。
- 可以通过values()方法及其别名方法keys() (或者Symbol. iterator属性,它引用values() )取得这个迭代器:
1 | const s = new Set(["val1", "val2", "val3"]); |
- values ()是默认迭代器,所以可以直接对集合实例使用扩展操作,把集合转换为数组:
1 | const s = new Set(["val1", "val2", "val3"]); |
- 集合的entries()方法返回一个迭代器,可以按照插人顺序产生包含两个元素的数组,这两个元素是集合中每个值的重复出现:
1 | const s = new Set(["val1", "val2", "val3"]); |
- 如果不使用迭代器,而是使用回调方式,则可以调用集合的forEach() 方法并传人回调,依次迭代每个键/值对。传入的回调接收可选的第二个参数,这个参数用于重写回调内部this的值:
1 | const s = new Set(["val1", "val2", "val3"]); |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 姚永坤的小窝!
评论