Test case details

Preparation Code

<script> function randomString() {     var text = "";     var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";     for( var i=0; i < 5; i++ )         text += possible.charAt(Math.floor(Math.random() * possible.length));     return text; } </script>
var J = 10;     var keys = [];         for (var i=0; i < 1000; i++) {       keys.push(randomString());     }         var mixedkeys = [];     for (var i=0; i < 500; i++) {       mixedkeys.push(randomString());       mixedkeys.push(i);     }         keys = JSON.parse(JSON.stringify(keys));     mixedkeys = JSON.parse(JSON.stringify(mixedkeys));             var map = new Map();     var obj = Object.create(null);     obj.x = true;     delete obj.x;         for (var i = 0; i < 10; i++) {       map.set(keys[i], i);       obj[keys[i]] = i;     }     var x = 0;

Test cases

Test #1

var map = new Map(); for (var j = 0; j < J; j++) for (var i = 0; i < keys.length; i++) {   map.set(keys[i], i); }  

Test #2

var obj = Object.create(null); obj.x = true; delete obj.x; for (var j = 0; j < J; j++) for (var i = 0; i < keys.length; i++) {   obj[keys[i]] = i; }  

Test #3

for (var j = 0; j < J; j++) for (var i = 0; i < keys.length; i++) {   if (map.get(keys[i]) !== void 0) x++; }  

Test #4

for (var j = 0; j < J; j++) for (var i = 0; i < keys.length; i++) {   if (obj[keys[i]] !== void 0) x++; }