{"ScriptPreparationCode":null,"TestCases":[{"Name":"reduce","Code":"const flatten = (arr) =\u003E \r\n arr.reduce((acc, x) =\u003E {\r\n Array.isArray(x) ? flatten(x).forEach(y =\u003E acc.push(y)) : acc.push(x)\r\n return acc;\r\n }, [])\r\n\r\n\r\nconst x = flatten([ [1,2,3], [ [4,5,6], [7,8,9], [[[[[10,11,12]]], [13,14,15]]] ], [[[[[[[[[[[16,17,18]]]]]]]]]]] ]);\r\n","IsDeferred":false},{"Name":"for of","Code":"const flat = (argarr) =\u003E {\r\n let arr = []\r\n for (const item of argarr) {\r\n if (Array.isArray(item)) arr = arr.concat(flat(item))\r\n else arr.push(item)\r\n }\r\n return arr\r\n}\r\n\r\n\r\nconst x = flat([ [1,2,3], [ [4,5,6], [7,8,9], [[[[[10,11,12]]], [13,14,15]]] ], [[[[[[[[[[[16,17,18]]]]]]]]]]] ]);\r\n","IsDeferred":false},{"Name":"reduce TOC","Code":"const flatten = (arr, acc = []) =\u003E {\r\n arr.forEach(x =\u003E {\r\n if (Array.isArray(x)) {\r\n flatten(x, acc);\r\n } else {\r\n acc.push(x);\r\n }\r\n });\r\n return acc;\r\n};\r\n\r\nconst x = flatten([ [1,2,3], [ [4,5,6], [7,8,9], [[[[[10,11,12]]], [13,14,15]]] ], [[[[[[[[[[[16,17,18]]]]]]]]]]] ]);\r\n\r\n","IsDeferred":false}]}