{"ScriptPreparationCode":"var params = [ [ 1, 2 ], [ 3, 4 ], [ 5, 6 ], [ 7, 8 ], [ 9, 0 ] ];\r\n\r\nvar flattenReduceConcat = (inputs) =\u003E inputs.reduce((acc, input) =\u003E acc.concat(input), []);\r\nvar flattenReduceSpread = (inputs) =\u003E inputs.reduce((acc, input) =\u003E [...acc, ...input], []);\r\nvar flattenLoopPush = (inputs) =\u003E {\r\n var acc = [];\r\n for (var i = 0, L = inputs.length; i \u003C L; i\u002B\u002B) {\r\n var input = inputs[i];\r\n for (var j = 0, l = input.length; j \u003C l; j\u002B\u002B) {\r\n acc.push(input[j]);\r\n }\r\n }\r\n return acc;\r\n}\r\nvar flattenLoopPushSpread = (inputs) =\u003E {\r\n var acc = [];\r\n for (var i = 0, l = inputs.length; i \u003C l; i\u002B\u002B) {\r\n acc.push(...inputs[i]);\r\n }\r\n return acc;\r\n}\r\nvar flattenLoopSpread = (inputs) =\u003E {\r\n var acc = [];\r\n for (var i = 0, l = inputs.length; i \u003C l; i\u002B\u002B) {\r\n acc = [...acc, ...inputs[i]];\r\n }\r\n return acc;\r\n}\r\n","TestCases":[{"Name":"Reduce\u002BConcat","Code":"var result = flattenReduceConcat(params);","IsDeferred":false},{"Name":"Reduce\u002BSpread","Code":"var result = flattenReduceSpread(params);","IsDeferred":false},{"Name":"Loop\u002BPush","Code":"var result = flattenLoopPush(params);","IsDeferred":false},{"Name":"Loop\u002BPush\u002BSpread","Code":"var result = flattenLoopPushSpread(params);","IsDeferred":false},{"Name":"Loop\u002BSpread","Code":"var result = flattenLoopSpread(params);","IsDeferred":false}]}