JavaScript Map.forEach() — перебір усіх пар
Метод forEach() викликає функцію для кожної пари Map, у порядку додавання.
Загальний опис
Тут є пастка, на якій спотикаються всі: аргументи йдуть у порядку значення, ключ — а не «ключ, значення», як підказує інтуїція. Так зроблено заради сумісності з forEach масиву, де першим іде елемент.
Саме тому в сучасному коді частіше пишуть for...of із деструктуризацією [key, value] — там порядок природний і його неможливо переплутати.
- Порада
-
Плутаєшся в порядку аргументів — не мучся, пиши
автор: NagarDfor (const [key, value] of map). Ще йbreakпрацюватиме, чого уforEachнемає.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| forEach | 38+ | 13+ | 8+ | 25+ | 12+ | 11+ |
| Переглядач | ||||
|---|---|---|---|---|
| forEach | 38+ | yes | yes | 8+ |
Приклади
+ запропонувати свій приклад у пісочниці
Порядок аргументів — значення, ключ (легко переплутати).
const map = new Map([['theme', 'dark'], ['lang', 'uk']]);
// увага: СПЕРШУ значення, ПОТІМ ключ
map.forEach((value, key) => {
console.log(key, '=', value);
});
// сучасніше й без пасток — порядок природний
for (const [key, value] of map) {
console.log(key, '=', value);
}
Коментарі
Коментарів ще немає — будьте першим!