{"ScriptPreparationCode":"niceFlattenDeep = arr =\u003E {\r\n\treturn arr.reduce( (result, el) =\u003E {\r\n\t\treturn result.concat(\r\n\t\t\tArray.isArray(el) ? niceFlattenDeep(el) : el\r\n\t\t)\r\n\t}, []);\r\n}\r\n\r\n\r\n\r\nfasterFlattenDeep = (array, result) =\u003E {\r\n\tconst length = array.length;\r\n\tlet index = -1;\r\n\r\n\tresult = result || [];\r\n\r\n\twhile (\u002B\u002Bindex \u003C length) {\r\n\t\tlet value = array[index];\r\n\t\tif (Array.isArray(value)) {\r\n\t\t\tfasterFlattenDeep(value, result);\r\n\r\n\t\t} else {\r\n\t\t\tresult[result.length] = value;\r\n\r\n\t\t}\r\n\t}\r\n\t\r\n\treturn result;\r\n}","TestCases":[{"Name":"niceFlattenDeep","Code":"niceFlattenDeep([ 1, [ 2, [ 3 ] ], 4, [[5, [6, 7]],[[[[[8]]]]]] ])","IsDeferred":false},{"Name":"fasterFlattenDeep","Code":"fasterFlattenDeep([ 1, [ 2, [ 3 ] ], 4, [[5, [6, 7]],[[[[[8]]]]]] ])","IsDeferred":false}]}