ECMAScript-6
ECMAScript-6 copied to clipboard
Map.delete called while iterating
see new ES draft about iteration and "delete"/"set"...
test case:
(function () {
var s = [];
var value = 42;
var map = new Map();
map.set(0, value);
map.set(1, value);
map.set(2, value);
map.set(3, value);
map.delete(1);
map.forEach(function (value, key) {
s.push(key);
if (key === 0) {
map.delete(0);
map.delete(2);
map.set(4);
}
});
alert(s.join(""));//should alert 034
}(self));