如何将数组按照不同长度进行分组?

const a = [
  [1, 2],
  [3, 4, 5],
  [1],
]
const b = [
  { id: 1 },
  { id: 2 },
  { id: 3 },
  { id: 4 },
  { id: 5 },
  { id: 6 },
]

数组 a 是一个二维数组,子数组的元素个数别分是 2、3、1。
数组 b 其元素个数与二维数组 a 所有元素个数一致。
如何将一维数组 b 按照例子中的 2、3、1 分割为如下二维数组?

输出:

[
  [  
    { id: 1 },
    { id: 2 }
  ],
  [  
    { id: 3 },
    { id: 4 },
    { id: 5 },
  ],
  [  
    { id: 6 },
  ],
]
阅读 1.6k
1 个回答
let start = 0
let res = a.map((item,index) => b.slice(start, start += item.length))
推荐问题