tor-browser

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

Set-iterator-remove-1.js (692B)


      1 // A set iterator can cope with removing the current entry.
      2 
      3 function test(letters, toRemove) {
      4    var set = new Set(letters);
      5    toRemove = new Set(toRemove);
      6 
      7    var leftovers = [...set].filter(x => !toRemove.has(x)).join("");
      8 
      9    var log = "";
     10    for (let x of set) {
     11        log += x;
     12        if (toRemove.has(x))
     13            set.delete(x);
     14    }
     15    assertEq(log, letters);
     16 
     17    var remaining = [...set].join("");
     18    assertEq(remaining, leftovers);
     19 }
     20 
     21 test('a', 'a');    // removing the only entry
     22 test('abc', 'a');  // removing the first entry
     23 test('abc', 'b');  // removing a middle entry
     24 test('abc', 'c');  // removing the last entry
     25 test('abc', 'abc') // removing all entries