{"ScriptPreparationCode":"const hasOwnProperty = Object.prototype.hasOwnProperty\r\nfunction has (obj, key) { return hasOwnProperty.call(obj, key) }\r\nconst count = 10000\r\nfunction loop (fn) { for (let i = count; i \u003E 0; i--) fn() }\r\nvar obj = { a: 1, b: 1, c: 1, d: 1, e: 1, f: 1, g: 1 }\r\nvar result = {}","TestCases":[{"Name":"for-in","Code":"loop(function () {\r\n for (const key in obj) {\r\n if (has(obj, key)) result[key] = obj[key]\r\n }\r\n})","IsDeferred":false},{"Name":"Object.keys.forEach","Code":"loop(function () {\r\n Object.keys(obj).forEach(function (key) {\r\n result[key] = obj[key]\r\n })\r\n})","IsDeferred":false},{"Name":"Object.entries.forEach","Code":"loop(function () {\r\n Object.entries(obj).forEach(function ([key, value]) {\r\n result[key] = value\r\n })\r\n})","IsDeferred":false},{"Name":"Object.keys for","Code":"loop(function () {\r\n const keys = Object.keys(obj)\r\n const length = keys.length\r\n for (let i = length; i \u003E 0; i--) {\r\n const key = keys[i]\r\n result[key] = obj[key]\r\n }\r\n})","IsDeferred":false}]}