{"ScriptPreparationCode":"var subObj = Array.from({ length: 10 }).map((value, i) =\u003E i).reduce((val, v) =\u003E { val[v] = v; return val; }, {})\r\nvar obj = Array.from({ length: 1000 }).map((value, i) =\u003E i).reduce((val, v) =\u003E { val[v] = v; return val; }, {})\r\nvar cb = (v, k) =\u003E { v.a = 10; v.b = 20; }","TestCases":[{"Name":"lodash.forOwn","Code":"_.forOwn(obj, function(v, k) {\r\n cb(v, k);\r\n});","IsDeferred":false},{"Name":"Object.keys().forEach","Code":"Object.keys(obj).forEach(function (k) {\r\n let v = obj[k];\r\n cb(v, k);\r\n});","IsDeferred":false},{"Name":"for..in","Code":"for (const k in obj) {\r\n if (obj.hasOwnProperty(k)) {\r\n let v = obj[k];\r\n cb(v, k);\r\n }\r\n}","IsDeferred":false},{"Name":"lodash.forOwn (looping subObj)","Code":"_.forOwn(obj, function(v, k) {\r\n _.forOwn(subObj, function(v1, k1) {\r\n cb(v, k);\r\n });\r\n});","IsDeferred":false},{"Name":"Object.keys().forEach (looping subObj)","Code":"Object.keys(obj).forEach(function (k) {\r\n const v = obj[k];\r\n Object.keys(subObj).forEach(function (k1) {\r\n const v1 = subObj[k1];\r\n cb(v, k);\r\n });\r\n});","IsDeferred":false}]}