kembali ke pelajaran

Kunci-kunci iterable

Kami ingin mendapatkan array daripada map.keys() dalam satu variabel lalu mengaplikasikan metode yang array spesifik kepadanya, contoh .push.

Tapi itu tidak berhasil:

let map = new Map();

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

let keys = map.keys();

// Error: keys.push is not a function
keys.push("more");

Mengapa? Bagaimana kita bisa membenarkan kode ini untuk membuat keys.push berhasil?

Itu karena map.keys() mengembalikan iterable, tetapi bukan sebuah array.

Kita bisa mengubahnya ke sebuah array menggunakan Array.from:

let map = new Map();

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

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

keys.push("more");

alert(keys); // name, more