set的意思为“集合”,是ES6提供的新数据结构,类似于数组,但是成员的值都是唯一的,没有重复的值。Set对象允许用户存储任何类型的唯一值,无论是原始值或者是对象引用。
本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。
Set是什么?
Set(集合) 是 ES6 提供的新的数据结构,类似于数组,但是成员的值都是唯一的,没有重复的值。
Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。
Set本身是一个构造函数,用来生成Set数据结构。
Set 中的特殊值:
Set 对象存储的值总是唯一的,所以需要判断两个值是否恒等。有几个特殊值需要特殊对待:
+0 与 -0 在存储判断唯一性的时候是恒等的,所以不重复;
undefined 与 undefined 是恒等的,所以不重复;
NaN 与 NaN 是不恒等的,但是在 Set 中只能存一个,不重复。
Set 使用情形
1、用于数组去重
let arr = [3, 5, 2, 2, 5, 5];let setArr = new Set(arr) // 返回set数据结构 Set(3) {3, 5, 2}//方法一 es6的...解构let unique1 = [...setArr ]; //去重转数组后 [3,5,2]//方法二 Array.from()解析类数组为数组let unique2 = Array.from(setArr ) //去重转数组后 [3,5,2]
登录后复制
2、用于字符串去重
let str = "352255";let unique = [...new Set(str)].join(""); // 352
登录后复制
3、实现交集、并集、差集
let a = new Set([1, 2, 3]);let b = new Set([4, 3, 2]);// 并集let union = new Set([...a, ...b]);// Set {1, 2, 3, 4}// 交集let intersect = new Set([...a].filter(x => b.has(x)));// set {2, 3}// (a 相对于 b 的)差集let difference = new Set([...a].filter(x => !b.has(x)));// Set {1}
登录后复制
【相关推荐:javascript视频教程、web前端】
以上就是es6 set是什么意思的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2936616.html