es6中set类型是有序的吗
这篇文章主要介绍了es6中set类型是有序的吗的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇es6中set类型是有序的吗文章都会有所收获,下面我们一起来看看吧。
es6中set类型是有序的。set类型是es6中新增的有序列表集合,其中包含了一些相互独立的非重复值;set的遍历顺序就是插入顺序,set保存的一个函数列表调用时,就是按照指定的顺序进行调用,因此set类型是有序的。
本文操作环境:windows10系统、Vue2.9.6版,DELL G3电脑。
es6中set类型是不是有序的
是有序的,你可以在官方的Set找到答案,Set的遍历顺序就是插入顺序。
这个特性有时非常有用,比如使用 Set 保存一个回调函数列表,调用时就能保证按照添加顺序调用。
基本概念
ES6新增的Set类型是一种有序列表,其中含有一些相互独立的非重复值。
*成员之间是否重复,Set集合内部是通过Object.is() 方法进行判断。
Set 是 ES6 新增的有序列表集合,它不会包含重复项。之前我们通常用对象(Object)或者数组(Array)来实现没有重复项的集合。但对象会对 key 进行 toString() 操作,这会导致某些 key 会意外覆盖之前的数据;如果 key 本身是一个对象,toString() 也得不到想要的结果,如下:
JSvar o = {};var key1 = 2;var key2 = { toString : function() { return 2 } };var key3 = { x : 1 };var key4 = { y : 2 };o[key1] = 1;o[key2] = 2;o[key3] = 3;o[key4] = 4;// o : Object {2: 2, [object Object]: 4}
数组可以存放任何类型的数据,不过数据除重需要自己实现。
Set 支持 add(item) 方法,用来向 Set 添加任意类型的元素,如果已经添加过则自动忽略;has(item) 方法用来检测 Set 中是否存在指定元素;delete(item) 方法用来从 Set 中删除指定元素;clear() 用来清空 Set;获取 Set 集合长度用 size 属性。如下:
JSvar set = new Set();set.add(window);set.has(window); // trueset.size; // 1set.add(window);set.add(1);set.size; // 2set.delete(window);set.has(window); // falseset.clear();set.size; // 0
关于“es6中set类型是有序的吗”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“es6中set类型是有序的吗”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341