Set.prototype.delete()
Set 实例的 delete() 方法会从该集合中移除指定的元素(如果该元素存在于集合中)。
试一试
const set = new Set();
set.add({ x: 10, y: 20 }).add({ x: 20, y: 30 });
// Delete any point with `x > 10`.
set.forEach((point) => {
if (point.x > 10) {
set.delete(point);
}
});
console.log(set.size);
// Expected output: 1
语法
js
setInstance.delete(value)
参数
返回值
如果 Set 对象中的某个值已被成功移除,则返回 true。如果未在 Set 中找到该值,则返回 false。
示例
使用 delete()
js
const mySet = new Set();
mySet.add("foo");
console.log(mySet.delete("bar")); // false; no "bar" element found to be deleted.
console.log(mySet.delete("foo")); // true; successfully removed.
console.log(mySet.has("foo")); // false; the "foo" element is no longer present.
从集合中删除对象
由于对象是按引用比较的,如果你没有原始对象的引用,你需要通过检查单个属性来删除它们。
js
const setObj = new Set(); // Create a new set.
setObj.add({ x: 10, y: 20 }); // Add object in the set.
setObj.add({ x: 20, y: 30 }); // Add object in the set.
// Delete any point with `x > 10`.
setObj.forEach((point) => {
if (point.x > 10) {
setObj.delete(point);
}
});
规范
| 规范 |
|---|
| ECMAScript® 2026 语言规范 # sec-set.prototype.delete |
浏览器兼容性
加载中…