{"ScriptPreparationCode":"var obj = {};\r\nfor (let i = 0; i \u003C 1000; i\u002B\u002B) {\r\n obj[\u0027abc_\u0027 \u002B i] = i;\r\n}\r\n\r\nfunction foo(bar) {\r\n return bar * 2 * 2;\r\n}","TestCases":[{"Name":"for...in","Code":"for (const key in obj) {\r\n if (obj.hasOwnProperty(key)) foo(obj[key]);\r\n}","IsDeferred":false},{"Name":"Object.keys\u002BforEach (ES5)","Code":"Object.keys(obj).forEach(function(key) {\r\n foo(obj[key]);\r\n});","IsDeferred":false},{"Name":"for...of - keys (ES6)","Code":"for (const key of Object.keys(obj)) {\r\n foo(obj[key]);\r\n}","IsDeferred":false},{"Name":"for...of - values (ES6)","Code":"for (const value of Object.values(obj)) {\r\n foo(value);\r\n}","IsDeferred":false},{"Name":"for...of - entries (ES8)","Code":"for (const [key, value] of Object.entries(obj)) {\r\n foo(value);\r\n}","IsDeferred":false},{"Name":"Object.entries (ES8)","Code":"Object.entries(obj).forEach(function(key, value) {\r\n foo(value);\r\n});","IsDeferred":false}]}