es6学习笔记 (数据结构set)
Posted linfang.zhou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了es6学习笔记 (数据结构set)相关的知识,希望对你有一定的参考价值。
集合的概念:集合是由一组无序且唯一的项组成的。
特点 : key 和 value 相同,没有重复的值
es6 提供了数据结构 set , 他类似于数组,但是成员的值都是唯一的,没有重复的值。
1、如何创建一个 set (Set 本身是一个构造函数,用来生成 Set 数据结构。)
var a = new Set([1,2,3]); console.log(a); // Set(3) {1, 2, 3}
用 Set 为数组去重
const set = new Set([1,2,3,4,2]); console.log(set); // Set(4) {1, 2, 3, 4}
2、Set 实例的属性和方法(size 、constructor)
var a = new Set([1,2,3]); console.log(a.size); // 3 console.log(a.constructor); // function Set() { [native code] }
Set 实例的方法
Set 实例的方法分为两大类:操作方法(用于操作数据)和遍历方法(用于遍历成员)
1、add 方法 (添加某个值,返回Set结构本身)
var a = new Set([1,2,3]); a.add("1").add(4); console.log(a); // Set(5) {1, 2, 3, "1", 4}
2、delete 方法(删除某个值,返回一个布尔值,表示删除是否成功)
var a = new Set([1,2,3]); a.add("1").add(4); console.log(a); // Set(5) {1, 2, 3, "1", 4} console.log(a.delete(1)); // true console.log(a.delete(1)); // false
3、has 方法 (返回一个布尔值,表示该值是否为Set
的成员)
var a = new Set([1,2,3]); console.log(a.has(1)); // true
4、clear 方法(清除所有成员,没有返回值)
var a = new Set([1,2,3]); a.clear(); console.log(a); // Set(0) {}
5、keys 方法(返回键名的遍历器)
var a = new Set([1,2,3]); console.log(a.keys()); // SetIterator {1, 2, 3}
var a = new Set([‘red‘, ‘green‘, ‘blue‘]); for (let i of a.keys()){ console.log(i); // red , green , blue }
6、values 方法(返回键值的遍历器)
var a = new Set([‘red‘, ‘green‘, ‘blue‘]); for (let i of a.values()){ console.log(i); // red , green , blue }
var a = new Set([‘red‘, ‘green‘, ‘blue‘]); console.log(a.values()); // SetIterator {"red", "green", "blue"}
7、entries 方法 (返回键值对的遍历器)
var a = new Set([‘red‘, ‘green‘, ‘blue‘]); console.log(a.entries()); // SetIterator {"red", "green", "blue"}
var a = new Set([‘red‘, ‘green‘, ‘blue‘]); for(let item of a.entries()){ console.log(item); // (2) ["red", "red"] (2) ["green", "green"] (2) ["blue", "blue"] }
8、forEach 方法
var a = new Set([‘red‘, ‘green‘, ‘blue‘]); a.forEach(function (value, key, a) { console.log( value + " miaov" ); // red miaov }) // green miaov // blue miaov
以上是关于es6学习笔记 (数据结构set)的主要内容,如果未能解决你的问题,请参考以下文章
[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段