ES6中Set与WeakSet集合怎么用


本文小编为大家详细介绍“ES6中Set与WeakSet集合怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“ES6中Set与WeakSet集合怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。每天都用数组,有没有过一个Moment,担心插入了重复的值?使用Set集合吧!Set拥有特殊的数据结构,保证插入的值永远不会重复。通过Set.prototype.constructor 构造函数创建Set实例访问 Set.prototype.size属性,返回集合中元素的个数调用 Set.prototype.has(value) 方法,判断元素是否存在Set集合为确保值的唯一性,使用Object.is(value1,value2)进行判断,而不是通过===(恒等符号)符号来判断的,因为恒等判断会将两边的变量进行强制类型转换。比如,两个变量的值均为NaN,或者0和-0,用JS判断是不相等的,但Object.is()认为是同一个只,因此不能存入Set集合中。想了解更多关于Object.is(),请跳转查看:developer.mozilla.org/zh-CN/docs/…而面对复杂数据类型时,主要通过对象的引用进行判断。引用不一致,即便数据结构一致,也认为只不相同,因此能存入Set集合。调用Set.prototype.add(value) 方法,向集合追加数据调用Set.prototype.delete(value) 方法,移除集合中的元素调用Set.prototype.clear() 方法,清空集合由于集合没有下标/索引,通常被认为是“无序集合”。但JavaScript会记住元素插入的顺序,所以遍历的时候也按顺序对元素进行迭代。直接遍历Set集合创建迭代器进行遍历调用Set.prototype.forEach(callbackFn)方法遍历除了Set集合外,ES6还提供了WeakSet和WeakMap。既然集合的名字都叫“Weak(弱)的集合”了,究竟它“弱”在哪里呢?WeakSet不允许插入原始值,仅支持对象的引用;WeakSet仅实现了add()、has()、delete()三个操作方法;WeakSet不允许遍历,也没有size或者length属性;要说弱引用,先看看什么是强引用:从测试代码看出,除非容器销毁,否则引用的对象一直没有被回收。而 香港云主机所谓弱引用,就是希望容器是根据元素自动伸缩的,一旦对象为null,容器中的引用也跟着回收。读到这里,这篇“ES6中Set与WeakSet集合怎么用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注开发云行业资讯频道。

相关推荐: 如何解决删除U盘提示通用卷无法停止问题

这篇文章将为大家详细讲解有关如何解决删除U盘提示通用卷无法停止问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。方法/步骤:1.打开任务管理器,在“进程”下找到“rundll32.exe”进程。2.选中该进程后,直接进行结束…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 07/15 12:00
下一篇 07/15 12:00

相关推荐