// A map iterator can cope with removing the next entry. | |
load(libdir + "iteration.js"); | |
var map = new Map([['a', 0], ['b', 1], ['c', 2], ['d', 3]]); | |
var iter = map[Symbol.iterator](); | |
var log = ''; | |
for (let [k, v] of iter) { | |
log += k + v; | |
if (k === 'b') | |
map.delete('c'); | |
} | |
assertEq(log, 'a0b1d3'); |