{"ScriptPreparationCode":"const size = 100000\r\nconst innerSize = size\r\nfunction getInnerArray() {\r\n return new Array(size).fill().map(() =\u003E parseInt(Math.random() * innerSize \u002B 1))\r\n}\r\nvar BaseArrays = new Array(size).fill().map(() =\u003E getInnerArray())\r\nfunction concatArray(finalArray) {\r\n BaseArrays.forEach((array) =\u003E {\r\n finalArray = finalArray.concat(array)\r\n })\r\n}\r\nfunction spreadArray(finalArray) {\r\n BaseArrays.forEach((array) =\u003E {\r\n finalArray = [...finalArray, ...array]\r\n })\r\n}\r\nfunction reduceArraySpread(finalArray) {\r\n finalArray = BaseArrays.reduce((prev, current) =\u003E [...prev, ...current], [])\r\n}\r\nfunction reduceArrayConcat(finalArray) {\r\n finalArray = BaseArrays.reduce((prev, current) =\u003E prev.concat(current), [])\r\n}\r\nfunction flatArray(finalArray) {\r\n finalArray = BaseArrays.flat()\r\n}\r\nfunction mergedArray(finalArray) {\r\n finalArray = [].concat.apply([], BaseArrays);\r\n}\r\nfunction flatten (arr, finalArray = []) {\r\n for (let i = 0, length = arr.length; i \u003C length; i\u002B\u002B) {\r\n const value = arr[i];\r\n if (Array.isArray(value)) {\r\n flatten(value, finalArray);\r\n } else {\r\n finalArray.push(value);\r\n }\r\n }\r\n return finalArray;\r\n};","TestCases":[{"Name":"concat","Code":"let finalArray = []\r\nconcatArray(finalArray)","IsDeferred":false},{"Name":"spread","Code":"let finalArray = []\r\nspreadArray(finalArray)","IsDeferred":false},{"Name":"reduce spread","Code":"let finalArray = []\r\nreduceArraySpread(finalArray)","IsDeferred":false},{"Name":"reduce concat","Code":"let finalArray = []\r\nreduceArrayConcat(finalArray)","IsDeferred":false},{"Name":"flat","Code":"let finalArray = []\r\nflatArray(finalArray)","IsDeferred":false},{"Name":"concat apply","Code":"let finalArray = []\r\nmergedArray(finalArray)","IsDeferred":false},{"Name":"Flatten self-made","Code":"let finalArray = []\r\nflatten(BaseArrays, finalArray)","IsDeferred":false}]}