有没有办法在不知道任何键的情况下循环浏览JavaScript Map?删除满足特定条件的每个迭代?
let map = new Map();
您可以在Map
上forEach
以获取每个键值对,如果值不满足条件,请使用键调用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()]);
我猜"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];