{"ScriptPreparationCode":"var str = \u0022\u0022;\r\nvar i;\r\nvar sArr = [];\r\nvar token = \u0022-\u0022;\r\nfor (i = 1000; i \u003E 0; i--) {\r\n\tsArr[i] = \u0022String concatenation. \u0022;\r\n}","TestCases":[{"Name":"String concatentation","Code":"var lastIndex = sArr.length - 1;\r\nfor (i = 0; i \u003C sArr.length; i\u002B\u002B) {\r\n str \u002B= sArr[i] \u002B (i === lastIndex ? \u0027\u0027 : join);\r\n}","IsDeferred":false},{"Name":"Array join","Code":"str = sArr.join(token);","IsDeferred":false},{"Name":"Array reduce","Code":"str = sArr.reduce((a, v) =\u003E a \u002B= \u0060${v} ${token}\u0060, \u0027\u0027);","IsDeferred":false},{"Name":"Array reduce trim","Code":"str = sArr.reduce((a, v) =\u003E a \u002B= \u0060${v} ${token}\u0060, \u0027\u0027).trim();","IsDeferred":false},{"Name":"String concatentation (forEach)","Code":"var lastIndex = sArr.length - 1\r\nsArr.forEach((value, i) =\u003E {\r\n result \u002B= value \u002B (i === lastIndex ? \u0027\u0027 : join)\r\n})","IsDeferred":false}]}