创建一个 Set 并添加现有变量:
// 创建变量 const a = "a"; const b = "b"; const c = "c"; // 创建 Set const letters = new Set(); letters.add(a); letters.add(b); letters.add(c);
往集合添加元素,会进行去重,重复的元素添加只会显示一个
var set = new Set() set.add(1) console.log(set); // {1} var set = new Set().add(1).add([2,3,4]) console.log(set); // {1, [2,3,4]} var set = new Set([1,2,3,4,5,6]); console.log(set.add(123)); // {1, 2, 3, 4, 5,6,123} 说明添加成功了 console.log(set.add(1)); // {1, 2, 3, 4, 5,6,123} 说明重复的没有添加成功
清空Set对象
var set = new Set([1,2,3,4,5,6]); set.clear() console.log(set); // {size: 0} 清空成功
删除Set对象中的值
var set = new Set([1,2,3,4,5,6]); console.log(set.delete(1)); // true 说明删除成功 console.log(set.delete(1)); // false说明删除失败,因为集合中已经不存在 1 console.log(set); // [2,3,4,5,6] 1被删除掉了
Entries() 方法返回一个数组的迭代对象,该对象包含数组的键值对 (key/value)。迭代对象中数组的索引值作为 key, 数组元素作为 value。
var set = new Set([1,2,3,4,5]); console.log(set); // {1, 2, 3, 4, 5} console.log(set.entries()); // {1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5}
判断Set对象中某个值是否存在,存在返回true,不存在返回false
var set = new Set([1,2,3,4,5]); console.log(set.has(1)); // ture 说明Set对象中存在1 console.log(set.has(6)); // false 说明Set对象中不存在6
为每个元素调用回调 它具有三个参数:
var set = new Set([1,2,3,4,5]); set.forEach((value,key,setObj)=>{ console.log(value,key,setObj); }) // 1 1 {1, 2, 3, 4, 5} // 2 2 {1, 2, 3, 4, 5} ....
返回Set对象的key值数组,返回Set对象的value值数组
var set = new Set([1,2,3,4,5]); console.log(set.keys()); // {1, 2, 3, 4, 5} console.log(set.values()); // {1, 2, 3, 4, 5}
返回Set对象中元素计数
var set = new Set([1,2,3,4,5]); console.log(set.size); // 5
名称 | 说明 |
---|---|
new Set() | 创建新的 Set 对象。 |
add() | 向 Set 添加新元素。 |
clear() | 从 Set 中删除所有元素。 |
delete() | 删除由其值指定的元素。 |
entries() | 返回 Set 对象中值的数组。 |
has() | 如果值存在则返回 true。 |
forEach() | 为每个元素调用回调。 |
keys() | 返回 Set 对象中值的数组。 |
values() | 与 keys() 相同。 |
size | 返回元素计数。 |