{"ScriptPreparationCode":"const arr = [1, 2, [3, 4], 5, [6, [7, 8, [9, [10, 11], 12]]]];","TestCases":[{"Name":"1","Code":"const flttn = (arr) =\u003E {\r\n if(!Array.isArray(arr)) return [];\r\n \r\n const fltn = (arr) =\u003E arr.reduce((acc, el) =\u003E Array.isArray(el) ? acc.concat(fltn(el)) : acc.concat(el), []);\r\n \r\n return fltn(arr);\r\n};","IsDeferred":false},{"Name":"2","Code":"const scalar = v =\u003E !Array.isArray(v);\r\n\r\nconst flatten = (deep, flat = []) =\u003E { \r\n if (deep.length === 0) return flat;\r\n let [head, ...tail] = deep;\r\n if (scalar(head)) {\r\n return flatten(tail, flat.concat(head));\r\n } else {\r\n return flatten(tail, flat.concat(flatten(head)));\r\n }\r\n}","IsDeferred":false}]}