цикл по карте JavaScript без ключей - PullRequest
0 голосов
/ 29 марта 2019

Есть ли способ пройти по карте JavaScript без знания каких-либо ключей?Удалить каждую итерацию, если она соответствует определенным критериям?

let map = new Map();

Ответы [ 2 ]

2 голосов
/ 29 марта 2019

Вы можете 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 голос
/ 29 марта 2019

Я предполагаю, что под "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];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...