{"ScriptPreparationCode":"var elements = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];\r\nvar size = 5;","TestCases":[{"Name":"Array from","Code":"const result = Array.from({ length: Math.ceil(elements.length / size) }, (_, i) =\u003E elements.slice(i * size, (i \u002B 1) * size));","IsDeferred":false},{"Name":"reduce","Code":"const result = elements.reduce(\r\n (elems, elem, i) =\u003E i % size === 0 ? [...elems, [elem]]: [...elems.slice(0, -1), [...elems[elems.length - 1], elem]],\r\n []\r\n);","IsDeferred":false},{"Name":"for","Code":"const result = [];\r\nfor (let i = 0; i \u003C elements.length; \u002B\u002Bi) {\r\n if (i % size === 0) result.push([elements[i]]);\r\n else result[result.length - 1].push(elements[i]);\r\n}","IsDeferred":false},{"Name":"another for","Code":"const result = [];\r\nfor (let i = 0; i \u003C elements.length; \u002B\u002Bi) {\r\n if (i % size === 0) result.push([]);\r\n result[result.length - 1].push(elements[i]);\r\n}","IsDeferred":false},{"Name":"one more","Code":"const result = [];\r\nlet index = -1;\r\nfor (let i = 0; i \u003C elements.length; \u002B\u002Bi) {\r\n if (i % size === 0) {\r\n index \u002B= 1;\r\n result.push([elements[i]]);\r\n } else result[index].push(elements[i]);\r\n}","IsDeferred":false},{"Name":"last for loop","Code":"const result = Array(Math.ceil(elements.length / size)).fill().map(() =\u003E Array(size));\r\nlet index = -1;\r\nlet subIndex = 0;\r\nfor (let i = 0; i \u003C elements.length; \u002B\u002Bi) {\r\n if (i % size === 0) {\r\n index\u002B\u002B;\r\n subIndex = 0;\r\n }\r\n result[index][subIndex] = elements[i];\r\n subIndex\u002B\u002B;\r\n}","IsDeferred":false},{"Name":"okay real last","Code":"const result = Array(Math.ceil(elements.length / size)).fill().map(() =\u003E Array(size));\r\nfor (let i = 0; i \u003C elements.length; \u002B\u002Bi) {\r\n result[Math.floor(i / size)][i % size] = elements[i];\r\n}","IsDeferred":false}]}