답변 3개
채택된 답변
+20 포인트
Copy
Array.prototype.chunk = function (chunk_size) {
var temp = this.slice(0),
results = [];
while (temp.length) {
results.push(temp.splice(0, chunk_size));
}
return results;
};
var arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26];
console.log( arr.chunk(20), arr );
참고로 간단한 코드 추가합니다.
지정한 크기만큼 나눠서 할당 후, 배열의 크기에 따라 result[0], result[1], ... 사용하면 됩니다.
Copy
for (var i=0, c=20, loop=Math.ceil(arr.length/c), result=[]; i<loop; i++) result[i] = arr.slice(i*c, (i+1)*c);
// 또는
for (var i=0, c=20, loop=Math.ceil(arr.length/c), result=[]; i<loop; i++) result.push(arr.slice(i*c, (i+1)*c));
답변을 작성하려면 로그인이 필요합니다.