{"ScriptPreparationCode":"var str = \u0022\u0022\r\nvar arr = []\r\nfor (let i = 0; i \u003C 100000; \u002B\u002Bi) {\r\n str \u002B= \u0027ABC::\u0027;\r\n arr.push(\u0027ABC\u0027);\r\n}","TestCases":[{"Name":"String slice","Code":"\r\nfunction process(s){\r\n return s.slice(0,s.lastIndexOf(\u0027:\u0027))\r\n}\r\nwhile (str.length) {\r\nstr = process(str);\r\n}\r\n","IsDeferred":false},{"Name":"Array slice","Code":"\r\nfunction process(a){\r\n return a.slice(0,a.length-2)\r\n}\r\nwhile (arr.length) {\r\narr = process(arr);\r\n}\r\n","IsDeferred":false},{"Name":"Array with creation","Code":"let str = \u0022\u0022\r\nfor (let i = 0; i \u003C 100000; \u002B\u002Bi) {\r\n str \u002B= \u0027ABC:\u0027;\r\n}\r\nfunction process(a){\r\n return a.slice(0,a.length-2)\r\n}\r\nwhile (arr.length) {\r\narr = process(arr);\r\n}\r\n","IsDeferred":false},{"Name":"String with creation","Code":"let str = \u0022\u0022\r\nfor (let i = 0; i \u003C 100000; \u002B\u002Bi) {\r\n str \u002B= \u0027ABC:\u0027;\r\n}\r\nfunction process(s){\r\n return s.slice(0,s.lastIndexOf(\u0027:\u0027))\r\n}\r\nwhile (str.length) {\r\nstr = process(str);\r\n}\r\n","IsDeferred":false}]}