ES6——对象扩展之Set对象
在ES6(ECMAScript 2015)中,Set
对象允许存储任何类型的唯一值,无论是原始值还是对象引用。Set
对象有一些有用的方法,可以操作集合中的数据。以下是一些常用的 Set
对象方法:
方法 | 描述 |
| 向 Set 对象添加一个元素。如果元素已存在,则不会添加。 |
| 删除 Set 对象中的元素。如果元素不存在,则返回 false 。 |
| 返回一个布尔值,表示 Set 对象中是否存在该元素。 |
| 清除 Set 对象中的所有元素。 |
| 返回 Set 对象中的元素数量。这是一个属性,不是方法。 |
| 对 Set 对象中的每个元素执行一次给定的回调函数。 |
示例代码:
1. add(value)
let set = new Set();
set.add(1); // Set {1}
set.add(2); // Set {1, 2}
set.add(2); // Set {1, 2},2 没有再次添加
2. delete(value)
set.delete(2); // 删除元素2,返回true
console.log(set); // Set {1}
3. has(value)
console.log(set.has(1)); // true
console.log(set.has(3)); // false
4. clear()
set.clear(); // 清空Set
console.log(set); // Set {}
5. size
let set = new Set([1, 2, 3]);
console.log(set.size); // 3
6. forEach(callbackFn, thisArg)
set.forEach((value, valueAgain, set) => {console.log(value); // 输出集合中的每个值
});
其中,callbackFn
是带有三个参数的函数:当前元素的值、当前元素的值(同上,为了保持与 Map 的 forEach
一致性)、以及当前的 Set
对象本身。thisArg
是可选的,作为执行回调时 this
的值。
这些方法和属性为操作和管理 Set
对象提供了强大的工具。