当我尝试这些代码时:
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”为什么不出现?
答案 0 :(得分:1)
这是与map.keys()
,map.values()
,map.entries()
一起发生的浏览器兼容性问题。
删除第一个密钥时,chrome
会出现此问题,但在safari
完成后,该问题仍然有效。
此外,这些属性甚至不能在Mozilla
中工作,只返回一个空的Map迭代器