前言
Set是js中的一种数据结构,它允许你存储唯一的值,并且可以保持插入顺序。
创建Set对象
可以使用new Set()语法来创建一个Set对象。Set对象可以接收一个可迭代对象作为参数,例如数组,并将其转换为Set对象。注意,Set中的元素是唯一的,重复的值会被忽略。
let s = new Set([1, 1, 2, 2, 3, 3]);
console.log(s); // Set {1, 2, 3}
console.log(s.size); // 3
访问Set对象
由于Set对象不是普通对象,因此不能通过使用方括号来访问成员。但是可以使用has()方法来检查Set中是否存在某个值。
console.log(s.has(1)); // true
console.log(s.has(4)); // false
修改Set对象
Set对象是不可修改的,一旦创建就无法直接修改其中的值。但是可以使用以下方法来添加和删除元素。
add(value):向Set对象中添加一个新的元素。delete(value):从Set对象中删除指定的元素。
let x = new Set([1, 2, 3]);
x.add(4);
x.delete(1);
console.log(x); // Set {2, 3, 4}
清空Set对象
可以使用clear()方法来清空Set对象中的所有元素。
x.clear();
console.log(x); // Set {}
遍历Set对象
可以使用多种方式来遍历Set对象中的元素。
-
使用
forEach()方法进行遍历。这是在ES6之前只有数组拥有的方法,现在Set也可以使用它。x.forEach((item, key, set) => { console.log(item, key, set); }); -
使用
for...of循环进行遍历。for...of循环用于遍历具有迭代器属性(Iterator)的对象。for (let value of x.values()) { console.log(value); }for (let value of x.keys()) { console.log(value); } -
使用
entries()方法返回键值对的遍历。entries()返回二维数组,每个子数组包含键和值的对应关系。for (let item of x.entries()) { console.log(item); }
以上就是Set对象的创建、访问、修改、清空和遍历操作,使用Set可以轻松管理唯一的值集合,并且可以保持插入顺序。