您的位置:首页 > 技术中心 > 前端框架 >

es6中set类型是不是有序的

时间:2022-04-19 14:55

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() 也得不到想要的结果,如下:

  1. JSvar o = {};
  2. var key1 = 2;
  3. var key2 = { toString : function() { return 2 } };
  4. var key3 = { x : 1 };
  5. var key4 = { y : 2 };
  6. o[key1] = 1;
  7. o[key2] = 2;
  8. o[key3] = 3;
  9. o[key4] = 4;
  10. // o : Object {2: 2, [object Object]: 4}

数组可以存放任何类型的数据,不过数据除重需要自己实现。

Set 支持 add(item) 方法,用来向 Set 添加任意类型的元素,如果已经添加过则自动忽略;has(item) 方法用来检测 Set 中是否存在指定元素;delete(item) 方法用来从 Set 中删除指定元素;clear() 用来清空 Set;获取 Set 集合长度用 size 属性。如下:

  1. JSvar set = new Set();
  2. set.add(window);
  3. set.has(window); // trueset.size; // 1set.add(window);
  4. set.add(1);
  5. set.size; // 2set.delete(window);
  6. set.has(window); // falseset.clear();
  7. set.size; // 0

20.png

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

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

热门排行

今日推荐

热门手游