我有一个像这样的东西。
const obj = {
r: [1,2,3,4,5,6,7],
p: [8,9,10,11,12,13,14],
e: [15,16,17,18,19,20,21,22,23,24]
}
如果要将其格式化为对象数组,则每个对象的组合值不应超过10个。例如,上面的对象应如下格式化。
const res = [
{
r: [1,2,3,4,5,6,7],
p:[8,9,10],
},
{
p:[11,12,13,14],
e:[15,16,17,18,19,20]
},
{
e: [21,22,23,24]
}
]
如何实现这一点。帮助是感激的。
const splitArray = (obj, size) => {
//based on size, I want to split that
}
4条答案
按热度按时间ql3eal8s1#
获取条目循环和拼接,直到没有更多的数据可用。
lrpiutwd2#
不知道这是否有点愚蠢,但也许你可以尝试如下所示的方法:将所有内容放入一个数组中,并附上键,然后拆分成块,然后重新分组:
tsm1rwdh3#
ocebsuys4#
使用一个生成器函数给予你一个键,值对的流。
然后使用reduce将这些对推到一个对象中,每10个项目创建一个新对象,以便将它们分块。