назад до уроку

Перебираємо ключі

важливість: 5

Ми хотіли б отримати масив ключів map.keys() в змінну і далі працювати з ними, наприклад, застосувати метод .push.

Але так не спрацює:

let map = new Map();

map.set("name", "John");

let keys = map.keys();

// Помилка: keys.push -- це не функція
keys.push("more");

Чому? Що потрібно виправити в коді, щоб keys.push працював?

Ми отримали помилку тому, що map.keys() повертає об’єкт-ітератор, а не масив.

Ми можемо конвертувати його використовуючи Array.from:

let map = new Map();

map.set("name", "John");

let keys = Array.from(map.keys());

keys.push("more");

alert(keys); // name, more