Viết hàm chia mảng số thành N nhóm, sắp xếp từ nhóm lớn đến nhỏ.
Ví dụ: mảng 12 số chia thành 5 mảng, kết quả chia đều từ lớn đến nhỏ:
const arr = [1,2,3,4,5,6,7,8,9,10,11,12]; const output = [[1,2,3], [4,5,6], [7,8], [9,10], [11,12]];
Hàm nhận mảng và số lượng phân đoạn.
Ví dụ
const arr = [1,2,3,4,5,6,7,8,9,10,11,12];
const chunkArray = (arr = [], chunkCount) => {
const chunks = [];
while(arr.length) {
const chunkSize = Math.ceil(arr.length / chunkCount--);
const chunk = arr.slice(0, chunkSize);
chunks.push(chunk);
arr = arr.slice(chunkSize);
};
return chunks;
};
console.log(chunkArray(arr, 5));Kết quả
Kết quả in ra console:
[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8 ], [ 9, 10 ], [ 11, 12 ] ]