将数组转换为子数组数组 - 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 次浏览

开启您的 职业生涯

完成课程以获得认证

开始
广告