问:map.delete(key)之后的ES6 map.keys()

时间:2017-12-24 11:59:28

标签: javascript ecmascript-6 es6-map

当我尝试这些代码时:

const map=new Map([['a', 1],['b', 2],['c', 3],['d', 4],['e', 5]]);
console.log(map.keys());
map.delete('a')
console.log(map.keys());

Chrome控制台将显示以下内容:

MapIterator {"a", "b", "c", "d", "e"}
MapIterator {"c", "d", "e"}

“b”为什么不出现?

1 个答案:

答案 0 :(得分:1)

这是与map.keys()map.values()map.entries()一起发生的浏览器兼容性问题。

删除第一个密钥时,chrome会出现此问题,但在safari完成后,该问题仍然有效。

此外,这些属性甚至不能在Mozilla中工作,只返回一个空的Map迭代器