Chúng tôi được yêu cầu viết một hàm JavaScript chia một Mảng số thành N nhóm, các nhóm này phải được sắp xếp theo thứ tự từ nhóm lớn hơn đến nhóm nhỏ hơn.
Ví dụ:trong đoạn mã dưới đây, hãy chia Mảng gồm 12 số thành 5 Mảng và kết quả sẽ được chia đều, từ lớn (nhóm) đế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 sẽ nhận trong mảng làm đối số đầu tiên và số lượng phân vùng làm đối số thứ hai.
Ví dụ
Mã cho điều này sẽ là -
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));
Đầu ra
Và đầu ra trong bảng điều khiển sẽ là -
[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8 ], [ 9, 10 ], [ 11, 12 ] ]