Javascript-按平面对象的嵌套数组

Javascript-按平面对象的嵌套数组,javascript,group-by,Javascript,Group By,我有一个关于表(行和列)位置的元数据对象 {a:{row:0,col:0,data:{}},b:{row:1,col:0,data:{}},c:{row:1,col:1,data:{}},d:{row:2,col:0,data:{}},e:{row:2,col:1,data:{}}} 我想对对象重新排序,以进行迭代并将其呈现为表(我正在使用React,但这并不重要)。 所以我的最终目标应该是这样的: [[{key:"a",data:{}}],[{key:"b",data:{}},{key:

我有一个关于表(行和列)位置的元数据对象

 {a:{row:0,col:0,data:{}},b:{row:1,col:0,data:{}},c:{row:1,col:1,data:{}},d:{row:2,col:0,data:{}},e:{row:2,col:1,data:{}}}
我想对对象重新排序,以进行迭代并将其呈现为表(我正在使用React,但这并不重要)。
所以我的最终目标应该是这样的:

 [[{key:"a",data:{}}],[{key:"b",data:{}},{key:"c",data:{}}],[{key:"d",data:{}},{key:"e",data:{}}]]

我试过(很多次)优雅而漂亮地完成它,但没有成功(结果对于循环来说太多了),我相信有一些优雅的方法可以实现它

只需减少条目,并将
/
作为嵌套数组的目标

var data={a:{row:0,col:0,data:{},b:{row:1,col:0,data:{},c:{row:1,col:1,data:{},d:{row:2,col:0,data:{},e:{row:2,col:1,data:{},
result=Object.entries(data).reduce((r[key,{row,col,data}])=>{
r[行]=r[行]| |[];
r[row][col]={key,data};
返回r;
}, []);
控制台日志(结果)