本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。
ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。
很多时候我们把Set叫做 集合,但是,Set可以是集合,集合不一定是Set。
特性:唯一性=>不重复=>能够对数据进行去重操作。
创建Set
Set 本身是一个构造函数,调用构造函数用来生成 Set 数据结构。
关键词 标识符 = new Set();
例
let i = new Set();
Set 函数可以接受一个数组(或类似数组的对象)作为参数,用来进行数据初始化。
let i = new Set([1, 2, 3, 4, 4]); //会得到 set{1, 2, 3, 4,}
注:如果初始化时给的值有重复的,会自动去除。集合并没有字面量声明方式,只能用new关键字来声明。
Set的属性
常用的属性就一个:size–返回 Set 实例的成员总数。
let s = new Set([1, 2, 3]); console.log( s.size ); // 3
Set的方法
Set 实例的方法分为两大类:操作方法(用于数据操作)和遍历方法(用于遍历数据)。
操作方法:
-
add(value) 添加数据,并返回新的 Set 结构
-
delete(value) 删除数据,返回一个布尔值,表示是否删除成功
-
has(value) 查看是否存在某个数据,返回一个布尔值
-
clear() 清除所有数据,没有返回值
let set = new Set([1, 2, 3, 4, 4]); // 添加数据 5 let addSet = set.add(5); console.log(addSet); // Set(5) {1, 2, 3, 4, 5} // 删除数据 4s let delSet = set.delete(4); console.log(delSet); // true 此处返回值是个boolean 表示 是否删除成功 // 查看是否存在数据 4 let hasSet = set.has(4); console.log(hasSet); // false // 清除所有数据 set.clear(); console.log(set); // Set(0) {}
遍历方法:
Set 提供了三个遍历器生成函数和一个遍历方法。
-
keys() 返回一个键名的遍历器
-
values() 返回一个键值的遍历器
-
entries() 返回一个键值对的遍历器
-
forEach() 使用回调函数遍历每个成员
let color = new Set(["red", "green", "blue"]); for(let item of color.keys()){ console.log(item); } // red // green // blue for(let item of color.values()){ console.log(item); } // red // green // blue for(let item of color.entries()){ console.log(item); } // ["red", "red"] // ["green", "green"] // ["blue", "blue"] color.forEach((item) => { console.log(item) }) // red // green // blue
【推荐学习:javascript高级教程】
以上就是es6 set方法有哪些的详细内容,更多请关注亿码酷站其它相关文章!
es6 set方法有哪些
—–文章转载自PHP中文网如有侵权请联系ymkuzhan@126.com删除
转载请注明来源:es6 set方法有哪些
本文永久链接地址:https://www.ymkuzhan.com/40526.html
本文永久链接地址:https://www.ymkuzhan.com/40526.html
下载声明:
本站资源如无特殊说明默认解压密码为www.ymkuzhan.com建议使用WinRAR解压; 本站资源来源于用户分享、互换、购买以及网络收集等渠道,本站不提供任何技术服务及有偿服务,资源仅提供给大家学习研究请勿作它用。 赞助本站仅为维持服务器日常运行并非购买程序及源码费用因此不提供任何技术支持,如果你喜欢该程序,请购买正版! 版权声明:
下载本站资源学习研究的默认同意本站【版权声明】若本站提供的资源侵犯到你的权益,请提交版权证明文件至邮箱ymkuzhan#126.com(将#替换为@)站长将会在三个工作日内为您删除。 免责声明:
您好,本站所有资源(包括但不限于:源码、素材、工具、字体、图像、模板等)均为用户分享、互换、购买以及网络收集而来,并未取得原始权利人授权,因此禁止一切商用行为,仅可用于个人研究学习使用。请务必于下载后24小时内彻底删除,一切因下载人使用所引起的法律相关责任,包括但不限于:侵权,索赔,法律责任,刑事责任等相关责任,全部由下载人/使用人,全部承担。以上说明,一经发布视为您已全部阅读,理解、同意以上内容,如对以上内容持有异议,请勿下载,谢谢配合!支持正版,人人有责,如不慎对您的合法权益构成侵犯,请联系我们对相应内容进行删除,谢谢!