將陣列轉換為子陣列陣列 - JavaScript


我們需要編寫一個 JavaScript 函式,該函式接受一個由文字組成的陣列,並返回一個新陣列,其中包含原始陣列的元素,這些元素被分成長度恰好為 2 的子陣列。

現在,如果原始陣列的長度不能完全被 2 整除,則最後一個子陣列應只有一個元素。

例如,

如果輸入陣列為 -

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

那麼輸出應該是 -

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

示例

以下是程式碼 -

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));

輸出

這將在控制檯上產生以下輸出 -

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

更新於: 01-Oct-2020

904 次瀏覽

開啟您的 職業生涯

完成課程以獲得認證

開始
廣告