如何将对象分成较小的对象

问题描述:

目标是将长度和形状未知的物体分解成每个3个元素的小物体.只有香草JS解决方案;我不想使用_.pick等.

The goal is to break an object of unknown length and shape into small objects 3 elements each. Only vanilla JS solution; I don't want to use _.pick etc.

大对象示例:

const data = {
    someFirstKey: 'someFirstVal',
    someSecondKey: 'someSecondVal',
    ...
    someLastKey: 'someLastVal'
}

具有3个键的所需块:

{someKey0: 'someVal0', someKey1: 'someVal1', someKey2, 'someVal2'}

基于注释,似乎您实际上正在寻找一种将对象分解为几个较小对象的方法.我会这样处理:

Based on the comments, it seems like you are actually looking for a way to split an object up into several smaller objects. I would approach that like this:

const data = {a:1,b:2,c:3,d:4,e:5,f:6,g:7};

const chunk_size = 3, chunks = [];
for ( const cols = Object.entries( data ); cols.length; )
  chunks.push( cols.splice(0, chunk_size).reduce( (o,[k,v])=>(o[k]=v,o), {}));

console.log( chunks );