es6 set是什么意思

发布时间:2022-05-17 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了es6 set是什么意思脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

set的意思为“集合”,是ES6提供的新数据结构,类似于数组,但是成员的值都是唯一的,没有重复的值。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是什么意思的详细内容,更多请关注脚本宝典其它相关文章

脚本宝典总结

以上是脚本宝典为你收集整理的es6 set是什么意思全部内容,希望文章能够帮你解决es6 set是什么意思所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:es6