{"ScriptPreparationCode":"var data1 = [];\r\nfor (let i = 0; i \u003C 1000; i\u002B\u002B) {\r\n data1.push({ val1: Math.random() * 100, val2: Math.random() * 100 });\r\n}\r\n\r\nvar data2 = [];\r\nfor (let i = 0; i \u003C 1000; i\u002B\u002B) {\r\n data2.push([ Math.random() * 100, Math.random() * 100 ]);\r\n}\r\n\r\n\r\nconst avgBy = (fn, arr) =\u003E\r\n\tarr.reduce((sum, obj) =\u003E sum \u002B fn(obj), 0) / arr.length;\r\n\r\n","TestCases":[{"Name":"array","Code":"avgBy((obj) =\u003E obj[0], data2)","IsDeferred":false},{"Name":"object","Code":"avgBy((obj) =\u003E obj.val1, data1)","IsDeferred":false}]}