反復可能なキー
重要度: 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