JavaScript Map.forEach() — перебір усіх пар


Метод forEach() викликає функцію для кожної пари Map, у порядку додавання.

автор: NagarD

Загальний опис

Тут є пастка, на якій спотикаються всі: аргументи йдуть у порядку значення, ключ — а не «ключ, значення», як підказує інтуїція. Так зроблено заради сумісності з forEach масиву, де першим іде елемент.

Саме тому в сучасному коді частіше пишуть for...of із деструктуризацією [key, value] — там порядок природний і його неможливо переплутати.

автор: NagarD

Порада

Плутаєшся в порядку аргументів — не мучся, пиши for (const [key, value] of map). Ще й break працюватиме, чого у forEach немає.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
forEach 38+ 13+ 8+ 25+ 12+ 11+
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
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);
}
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід