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)的主要内容,如果未能解决你的问题,请参考以下文章

ES6-11学习笔记--Iterator

es6 学习笔记3

js ES6 Set和Map数据结构详解

[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段

es6笔记 Set数据结构

js-ES6学习笔记-Set结构和Map结构