JavaScript Map.keys() — усі ключі
Метод keys() повертає ітератор усіх ключів Map — у порядку додавання.
Загальний опис
Повертається саме ітератор, а не масив: у нього немає ані length, ані map(), ані звертання за індексом. Це зроблено заради лінивості — ключі не копіюються в нову структуру.
Потрібен масив — розгорни спредом: [...map.keys()]. Потрібно просто перебрати — for...of працює з ітератором напряму, без жодних перетворень.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| keys | 38+ | 13+ | 8+ | 25+ | 12+ | 11+ |
| Переглядач | ||||
|---|---|---|---|---|
| keys | 38+ | yes | yes | 8+ |
Приклади
+ запропонувати свій приклад у пісочниці
Ітератор перебирається одразу, а масив — через спред.
const map = new Map([['theme', 'dark'], ['lang', 'uk']]);
for (const key of map.keys()) {
console.log(key); // 'theme', 'lang'
}
// потрібен саме масив — розгортаємо
const keys = [...map.keys()];
console.log(keys.sort()); // ['lang', 'theme']
// в ітератора методів масиву немає
// map.keys().sort() → TypeError
Коментарі
Коментарів ще немає — будьте першим!