如何使用 JavaScript 从集合中删除元素

从 JavaScript 中的集合中删除一个元素

How to Remove an Element from a Set using JavaScript

使用该Set.delete()方法从 a 中删除一个元素Set,例如
set.delete('element')

如果该值存在于 中Set,则将其从对象中移除Set
true返回,否则,该方法返回false

索引.js
const set1 = new Set(['bobby', 'hadz', 'com']); set1.delete('hadz'); console.log(set1); // 👉️ Set(2) { 'bobby', 'com' } console.log(set1.has('hadz')); // 👉️ false

我们使用
Set.delete
方法从
Set.

该方法采用的唯一参数是我们要删除的值。

如果值在中,则delete方法返回,否则返回
trueSetfalse

索引.js
const set1 = new Set(); set1.add('bobby'); set1.add('hadz'); set1.add('com'); console.log(set1); // 👉️ Set(3) { 'bobby', 'hadz', 'com' } console.log(set1.delete('bobby')); // 👉️ true console.log(set1.delete('asdf')); // 👉️ false

Set从JavaScript 中的对象中删除对象或数组

如果需要从 a 中删除一个对象或数组Set,则需要有对该对象或数组的引用,或者使用 方法forEach()获取引用。

索引.js
const set1 = new Set([{id: 1}, {id: 2}]); console.log(set1); // 👉️ {{id: 1}, {id: 2}} set1.forEach(obj => { if (obj.id === 2) { set1.delete(obj); } }); console.log(set1); // 👉️ { {id: 1} }

我们使用Set.forEach方法迭代Set并获取对我们要删除的对象的引用。

我们传递给该方法的函数forEach()会随Set.

在每次迭代中,我们检查当前对象是否是我们要删除的对象。

如果您有对该对象的直接引用,则有一种更简单的方法可以做到这一点。

索引.js
const obj = {id: 1}; const set1 = new Set([obj, {id: 2}]); set1.delete(obj); console.log(set1); // 👉️ { {id: 2} }

在大多数情况下,您不会直接引用要从 中删除的对象或数组Set,因此使用forEach()方法是一个很好的选择。

额外资源

您可以通过查看以下教程来了解有关相关主题的更多信息: