是否可以在不知道任何键的情况下循环遍历JavaScript映射?删除符合特定条件的每次迭代吗?
let map = new Map();
答案 0 :(得分:2)
您可以在forEach
上Map
来获取每个键值对,如果该值不满足您的条件,请用键调用delete
:
const map = new Map([
[1, 2],
[3, 4],
[5, 6]
]);
map.forEach((val, key) => {
if (val < 3) {
map.delete(key);
}
});
console.log([...map.entries()]);
答案 1 :(得分:1)
我猜是“ Javascript Map”,意思是一个对象,对吧? 如果是这样,您可以使用Object.keys()
动态获取对象属性。因此,这是在动态对象上进行迭代的示例:
let randomObj = {
randomProperty: 'randomValue',
randomProperty2: 'randomValue2',
}
const properties = Object.keys(randomObj);
properties.forEach(prop => {
if (someCriteriaYouHave(prop))
delete(randomObj[prop]);
});
如果您需要属性值来确定是否要删除它,可以使用以下方法获取它:
var propValue = randomObj[prop];