Set 实例的 delete() 方法从该集合中删除指定值,如果该值在集合中。
{{InteractiveExample("JavaScript Demo: Set.prototype.delete()")}}
```js interactive-example const set1 = new Set(); set1.add({ x: 10, y: 20 }).add({ x: 20, y: 30 });
// Delete any point with x > 10.
set1.forEach((point) => {
if (point.x > 10) {
set1.delete(point);
}
});
console.log(set1.size); // Expected output: 1
## 语法
```js-nolint
setInstance.delete(value)
参数
value- : 要从
Set中移除的值。
- : 要从
返回值
成功删除返回 true,否则返回 false。
示例
使用 delete() 方法
const mySet = new Set();
mySet.add("foo");
console.log(mySet.delete("bar")); // 返回 false,不包含 "bar" 这个元素
console.log(mySet.delete("foo")); // 返回 true,删除成功
console.log(mySet.has("foo")); // 返回 false,"foo" 已经成功删除
从 Set 中删除对象
因为对象是通过引用比较的,所以如果没有对原始对象的引用,就必须通过检查各个属性来删除它们。
const setObj = new Set(); // 创建一个新 set
setObj.add({ x: 10, y: 20 }); // 在 set 中添加对象
setObj.add({ x: 20, y: 30 }); // 在 set 中添加对象
// 删除任何 'x > 10' 的点
setObj.forEach((point) => {
if (point.x > 10) {
setObj.delete(point);
}
});