gpt4 book ai didi

Javascript - 平面对象的嵌套数组

转载 作者:行者123 更新时间:2023-11-29 22:45:34 24 4
gpt4 key购买 nike

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

 {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:{}}]]

我尝试(很多)优雅而漂亮地完成它但没有任何成功(结果是太多的 for 循环),我相信有一些优雅的方法可以实现它。

最佳答案

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

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[row] = r[row] || [];
r[row][col] = { key, data };
return r;
}, []);

console.log(result);

关于Javascript - 平面对象的嵌套数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58787901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com