tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

Map-iterator-remove-5.js (593B)


      1 // Removing a Map entry already visited by an iterator does not cause any
      2 // entries to be skipped.
      3 
      4 var map = new Map();
      5 for (var i = 0; i < 20; i++)
      6    map.set(String.fromCharCode('A'.charCodeAt(0) + i), i);
      7 
      8 var log = '';
      9 for (var [k, v] of map) {
     10    log += k;
     11    if (v % 5 === 4) {
     12        // Delete all entries preceding this one.
     13        for (let [k1, v1] of map) {
     14            if (k1 === k)
     15                break;
     16            map.delete(k1);
     17        }
     18    }
     19 }
     20 assertEq(log, 'ABCDEFGHIJKLMNOPQRST');
     21 assertEq(map.size, 1);  // Only the last entry remains.
     22 assertEq(map.get('T'), 19);