{"ScriptPreparationCode":"var size = 1000;\r\nvar descend = true;","TestCases":[{"Name":"for ","Code":"let arr = []\r\nfor(let i=size; i \u003E= 1; i--){\r\n\tarr.push(i)\r\n}","IsDeferred":false},{"Name":"for reverse","Code":"let arr = []\r\nfor(let i=1; i \u003C= size; i\u002B\u002B){\r\n\tarr.push(i)\r\n}\r\narr.reverse()","IsDeferred":false},{"Name":"for Composite","Code":" let arr = []\r\n let [start, end] = descend ? [size, 1]: [1, size]\r\n let step = descend ? -1 : 1\r\n for (let index = start; (descend ? index \u003E= end : index \u003C= end); index\u002B=step) {\r\n arr.push(index)\r\n }\r\n","IsDeferred":false},{"Name":"for Composite perf fn","Code":"let arr = []\r\nlet [start, end] = descend ? [size, 1]: [1, size]\r\nlet step = descend ? -1 : 1\r\nlet compare = descend ? (index, end) =\u003E index \u003E= end : (index, end) =\u003E index \u003C= end\r\nfor (let index = start; compare(index, end); index\u002B=step) {\r\n arr.push(index)\r\n}","IsDeferred":false},{"Name":"for Composite perf if","Code":"let arr = []\r\nlet [start, end] = descend ? [size, 1]: [1, size]\r\nlet step = descend ? -1 : 1\r\nif(descend) {\r\n for (let index = start; index \u003E= end; index\u002B=step) {\r\n arr.push(index)\r\n }\r\n} else {\r\n for (let index = start; index \u003C= end; index\u002B=step) {\r\n arr.push(index)\r\n }\r\n}","IsDeferred":false}]}