可迭代鍵
重要性:5
我們想要在變數中取得 map.keys()
的陣列,然後對它套用陣列特定的方法,例如 .push
。
但這行不通
let map = new Map();
map.set("name", "John");
let keys = map.keys();
// Error: keys.push is not a function
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