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

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))
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题