如何使用 JavaScript 从集合中删除元素
要从 Set 中删除元素,请调用 delete() 方法,将值作为参数传递给它。 如果该值存在于 Set 中,则将其从 Set 对象中删除并返回 true,否则该方法返回 false。
const set1 = new Set(['one', 'two', 'three']);
set1.delete('two');
console.log(set1); // ?️ {'one', 'three'}
console.log(set1.has('two')); // ?️ false
我们使用 Set.delete 方法从 Set 中删除一个元素。
该方法采用的唯一参数是我们要删除的值。
const set1 = new Set(['one', 'two', 'three']);
console.log(set1.delete('two')); // ?️ true
console.log(set1.delete('four')); // ?️ false
如果需要从 Set 中删除对象或数组,则需要有对象/数组的引用,或者使用 forEach 方法获取引用。
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 并获取对我们要删除的对象的引用。
如果我们有对该对象的直接引用,则有一种更简单的方法可以做到这一点。
const obj = {id: 1};
const set1 = new Set([obj, {id: 2}]);
set1.delete(obj);
console.log(set1); // ?️ { {id: 2} }
在大多数情况下,我们不会直接引用要从 Set 中删除的对象/数组,因此使用 forEach 方法是一个很好的选择。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。