{"ScriptPreparationCode":null,"TestCases":[{"Name":"with map","Code":"const div = document.getElementById(\u0027min-data\u0027);\r\n\r\nconst products = [];\r\n\r\nfor(let x = 0; x \u003C 5;x\u002B\u002B){\r\n\tlet product = {id: x, features:[]}\r\nfor(let i = 0; i \u003C 1000; i\u002B\u002B){\r\n\tconst num = Math.floor(Math.random() * 1000);\r\n\tproduct.features.push({properties:{selected: num}});\r\n}\r\nproducts.push(product)}\r\n\r\nlet maxVal = products\r\n .map((p) =\u003E {\r\n return p.features\r\n .map((f) =\u003E {\r\n return f.properties.selected;\r\n })\r\n .flat();\r\n })\r\n .flat()\r\n .reduce((a, b) =\u003E (a \u003E b ? a : b), 0);\r\n\r\ndiv.innerHTML = maxVal.toString();","IsDeferred":false},{"Name":"with reduce","Code":"const div = document.getElementById(\u0027min-data\u0027);\r\n\r\nconst products = [];\r\n\r\nfor(let x = 0; x \u003C 5;x\u002B\u002B){\r\n\tlet product = {id: x, features:[]}\r\nfor(let i = 0; i \u003C 1000; i\u002B\u002B){\r\n\tconst num = Math.floor(Math.random() * 1000);\r\n\tproduct.features.push({properties:{selected: num}});\r\n}\r\nproducts.push(product)}\r\n\r\nlet maxVal = products\r\n .map((p) =\u003E {\r\n return p.features.reduce(\r\n (a, b) =\u003E\r\n a \u003E b.properties.selected\r\n ? a\r\n : b.properties.selected,\r\n 0\r\n );\r\n }).reduce((a, b) =\u003E (a \u003E b ? a : b), 0);\r\n \r\ndiv.innerHTML = maxVal.toString();","IsDeferred":false},{"Name":"double reduce","Code":"const div = document.getElementById(\u0027min-data\u0027);\r\n\r\nconst products = [];\r\n\r\nfor(let x = 0; x \u003C 5;x\u002B\u002B){\r\n\tlet product = {id: x, features:[]}\r\nfor(let i = 0; i \u003C 1000; i\u002B\u002B){\r\n\tconst num = Math.floor(Math.random() * 1000);\r\n\tproduct.features.push({properties:{selected: num}});\r\n}\r\nproducts.push(product)}\r\n\r\nlet maxVal = products.reduce((currMax, product) =\u003E {\r\n let inMax = product.features.reduce(\r\n (fMax, f) =\u003E\r\n (fMax \u003E f.properties.selected ? fMax : f.properties.selected),\r\n 0\r\n );\r\n\r\n return currMax \u003E inMax ? currMax : inMax;\r\n }, 0);\r\n \r\ndiv.innerHTML = maxVal.toString();","IsDeferred":false}]}