在没有键的情况下循环遍历Map JavaScript

时间:2019-03-28 22:29:21

标签: javascript loops dictionary key

是否可以在不知道任何键的情况下循环遍历JavaScript映射?删除符合特定条件的每次迭代吗?

let map = new Map();

2 个答案:

答案 0 :(得分:2)

您可以在forEachMap来获取每个键值对,如果该值不满足您的条件,请用键调用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];