0
点赞
收藏
分享

微信扫一扫

JS Set方法


1 创建Set

new Set()方式创建

let s = new Set();

1.1、new Set()方式创建

通过传入数组方式创建
如果想在创建的同时初始化实例,则可以给 Set 构造函数传入一个可迭代对象,其中需要包含插入到新集合实例中的元素(Set 可以包含任何 JavaScript 数据类型作为值):

let s = new Set([1,2,3,3,5])
let s = new Set(["val1", 1, true, {}, undefined, function fun() {}]);

1.2 Set结构不会添加重复的值

const s = new Set([1, 1, 2, 3, 4, 4, 5, 6, 7, 4, 2, 1]);
Array.from(s); // [1, 2, 3, 4, 5, 6, 7]

1.3 用Set解决数组去重问题

const arr = [1, 2, 3, 3, 4, 5, 4, 4, 2, 1, 3];
Array.from(new Set(arr)); // [1, 2, 3, 4, 5]

2. 添加元素

使用 add 方法

let s = new Set()
s.add(1)

3. 删除元素、

使用 delete 方法

let s = new Set()
s.add(1)
s.add(5)
s.delete(5)

4. 获取 Set 中元素个数

使用 size

let s = new Set()
s.add(1)
s.add(5)
s.size

5. 判断 Set 中是否包含某个元素

has(): 查询Set实例是否存在某元素(返回布尔值):

let s = new Set();
s.add(1).add(2).add(3);
s.has(1); // true

6. clear()

clear(): 清空Set实例:

let s = new Set();
s.add(1).add(2).add(3);
Array.from(s); // [1, 2, 3]
s.clear();
Array.from(s); // []

7. 迭代

keys():返回键名;
values(): 返回键值;
entries(): 返回键值对;

let s = new Set();
s.add(1).add(2).add(3);
Array.from(s.keys()); // [1, 2, 3]
Array.from(s.values()); // [1, 2, 3]
Array.from(s.entries()); // [[1, 1], [2, 2], [3, 3]]

8. 遍历 Set

8.1. forEach形式

const s = new Set();
s.add(1).add(2).add(3);
s.forEach((value, key) => console.log(key + ' : ' + value));
// 1 : 1
// 2 : 2
// 3 : 3

8.2. for of 形式

const s = new Set();
s.add(1).add(2).add(3);
for (const i of s) {
console.log(i);
}
// 1
// 2
// 3

9. Set 转换成数组

使用 Array.from 方法

let v = new Set([1,2,3,3,5])
let a = Array.from(v)


举报

相关推荐

0 条评论