Computer >> Máy Tính >  >> Lập trình >> Javascript

Chia Mảng mục thành N Mảng trong JavaScript

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 ] ]