可迭代键
重要性: 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