ES6(三)--数据结构Set

SetES6新的数据结构,类似于数组,但是Set成员的值都是唯一的,没有重复的值,keyvalue相同

创建一个Set

//参数是一个数组
const s = new Set([1, 2, 3, 4]);

Set的属性

Set的属性只有一个size,类似于数组的length;

console.log(s.size);//4

Set的方法

1.Set.add(value):给Set集合添加数据,返回Set本身
2.Set.delete(value):删除指定的数据,返回一个布尔值,判断删除是否成功
3.Set.has(value):判断该值是不是Set集合里面的成员,返回布尔值
4.Set.clear():清除所有的数据,没有返回值

const s = new Set([1, 2, 3, 4]);

s.add("a");
console.log(s.size);//5

console.log(s.delete(1));//true
console.log(s.size);//4

console.log(s.has(2));//true

s.clear();
console.log(s.size);//0

s.add(1).add("a").add(2);
console.log(s.size);

Set遍历

1.keys():返回一个键名的遍历器
2.values():返回一个键值的遍历器
3.entries():返回一个键值对的遍历器
4.forEach():使用回调函数遍历每个成员

const s = new Set([1, 2, 3, 4]);

for (let item of s.keys()) {
    console.log(item);
}
//1 2 3 4

for (let item of s.values()) {
    console.log(item);
}
//1 2 3 4

for (let item of s) {
    console.log(item);
}
//1 2 3 4

for (let item of s.entries()) {
    console.log(item);
}
//[1,1]
//[2,2]
//[3,3]
//[4,4]

s.forEach(function (key, value, set) {
    console.log(key);
    console.log(value);
    console.log(set)
});

总结

1.keys()方法和values()方法遍历是一样的,因为Set集合的keyvalue相同,这一点在用entries()方法遍历的时候可以知道

2.Set集合本身就可以使用for of循环遍历,和keys(),values()方法相同

3.forEach方法接受一个回调函数,回调函数接受三个参数,key,valueSet集合本身

标签: none

添加新评论