>首页> IT >

es6中set类型是不是有序的

时间:2022-04-08 18:51:26       来源:PHP中文网

本文操作环境: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

【相关推荐:《vue.js教程》】

以上就是es6中set类型是不是有序的的详细内容,更多请关注php中文网其它相关文章!

关键词: 相关文章 回调函数 进行判断