映射对象,在单个循环中删除元素 [英] Map object, remove elements in a single loop
本文介绍了映射对象,在单个循环中删除元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在某些情况下,在单个循环中删除Map对象元素的简洁有效的方法是什么?
What is a concise and the efficient way to remove elements of a Map object in a single loop upon some condition?
可以在地图的entry()上进行迭代,但是每次迭代调用entry()看起来效率不高
Iterating on the map's entries() can do it but calling entries() at each iteration doesn't look efficient
let name_value_map = new Map([['One', 1], ['Two', 2], ['Three', 3], ['Four', 4]])
for (let pair of name_value_map.entries())
if (pair[1] <= 3)
name_value_map.delete(pair[0])
其他想法?
推荐答案
const name_value_map = new Map([['One', 1], ['Two', 2], ['Three', 3], ['Four', 4]]);
name_value_map.forEach((v, k, m) => v <= 3 && m.delete(k));
console.log([...name_value_map.entries()]); // SO console doesn't display Map
这篇关于映射对象,在单个循环中删除元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文