เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่แบ่ง Array ของตัวเลขออกเป็น N กลุ่ม ซึ่งต้องเรียงลำดับจากกลุ่มใหญ่ไปหากลุ่มเล็ก
ตัวอย่างเช่น ในโค้ดด้านล่าง ให้แบ่ง Array จำนวน 12 ตัวเป็น 5 Array และผลลัพธ์ควรแบ่งเท่าๆ กัน จากขนาดใหญ่ (กลุ่ม) ไปจนถึงขนาดเล็ก:
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]];
ฟังก์ชันควรใช้อาร์เรย์เป็นอาร์กิวเมนต์แรกและจำนวนพาร์ติชั่นเป็นอาร์กิวเมนต์ที่สอง
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
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)); ผลลัพธ์
และผลลัพธ์ในคอนโซลจะเป็น −
[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8 ], [ 9, 10 ], [ 11, 12 ] ]