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

Mảng Chunking trong JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một mảng các ký tự và trả về một mảng mới có các phần tử của mảng ban đầu được chia thành các mảng con có độ dài chính xác là 2. Bây giờ, nếu độ dài của mảng ban đầu không chia hết cho 2, thì mảng con cuối cùng chỉ nên có một phần tử.

Ví dụ:Nếu mảng đầu vào là -

const arr = [1, 2, 3, 4, 5, 6, 7];

Sau đó, kết quả đầu ra phải là -

const output = [[1, 2], [3, 4], [5, 6], [7]]

Do đó, hãy viết mã cho chức năng này -

Ví dụ

Mã cho điều này sẽ là -

const arr = [1, 2, 3, 4, 5, 6, 7];
const chunk = arr => {
   const size = 2;
   const chunkedArray = [];
   for (let i = 0; i < arr.length; i++) {
      const last = chunkedArray[chunkedArray.length - 1];
      if(!last || last.length === size){
         chunkedArray.push([arr[i]]);
      }else{
         last.push(arr[i]);
      }
   };
   return chunkedArray;
};
console.log(chunk(arr));

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

[ [ 1, 2 ], [ 3, 4 ], [ 5, 6 ], [ 7 ] ]