从 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
方法返回,否则返回
。true
Set
false
索引.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()
方法是一个很好的选择。
额外资源
您可以通过查看以下教程来了解有关相关主题的更多信息: