{"ScriptPreparationCode":"var v = new Array(10000);\r\nvar values = []\r\nfor (let i = 0; i \u003C v.length; \u002B\u002Bi) {\r\n values.push({value: i % 20})\r\n}","TestCases":[{"Name":"2 spreading and executing Math.min() and Math.max()","Code":"const min = Math.min(...values.map(i =\u003E i.value));\r\nconst max = Math.max(...values.map(i =\u003E i.value));\r\nreturn {min, max}","IsDeferred":false},{"Name":"1 spreading and executing Math.min() and Math.max()","Code":"const mapped = values.map(i =\u003E i.value)\r\nconst min = Math.min(...mapped);\r\nconst max = Math.max(...mapped);\r\nreturn {min, max}","IsDeferred":false},{"Name":"No spreading and executing .reduce one time","Code":"return values.reduce(\r\n (acc, {value} ) =\u003E {\r\n if (acc.min \u003E value) acc.min = value\r\n if (acc.max \u003C value) acc.max = value\r\n\r\n return acc\r\n },\r\n { min: Infinity, max: 0 }\r\n )\r\n","IsDeferred":false}]}