在 AG-Grid 中显示复杂键值对

Display Complex key-value pair in AG-Grid

我有一张地图要通过 API 发送到 Angular,我想在 ag-grid 中显示它。 该地图具有作为日期的键和作为对象列表的值 地图是这样的:

{ 2019-12-23 00:00:00.0: Array(3),2019-05-24 00:00:00.0: Array(1)}

物体是这样的 {"id":5, "amt":10,"status":new}

所以我希望在 ag-grid 中显示相同的内容,以便我可以根据 amt 字段对其进行排序。 所以像:

(假设上面的映射 obj1、obj2、obj3 在第一个数组中,即键为 2019-12-23 00:00:00.0,obj4 键为 2019-05-24 [=25= .0 并假设 obj1.amt > obj4.amt > obj2.amt > obj3.amt).

2019-12-23 00:00:00.0 | obj1.id| obj1.amt |obj1.status
2019-05-24 00:00:00.0 | obj4.id| obj4.amt |obj4.status
2019-12-23 00:00:00.0 | obj2.id| obj2.amt |obj2.status
2019-12-23 00:00:00.0 | obj3.id| obj3.amt |obj3.status

我怎样才能做到这一点?任何代码片段都会有所帮助。 谢谢

实施可能因时间而异属性

你需要时间在 table 吗?

如果 - 否 - 解决方案会容易得多

const entireObject = {
[new Date(1000).toISOString()]: [ {"id":5, "amt":10,"status":'new'},  {"id":6, "amt":10,"status":'new'}],
[new Date(2000).toISOString()]: [ {"id":7, "amt":10,"status":'new'},  {"id":8, "amt":10,"status":'new'}]
}
const outputData = Object.values(entireObject).flat();
console.log(outputData)

如果 - 是

const entireObject = {
[new Date(1000).toISOString()]: [ {"id":5, "amt":10,"status":'new'},  {"id":6, "amt":10,"status":'new'}],
[new Date(2000).toISOString()]: [ {"id":7, "amt":10,"status":'new'},  {"id":8, "amt":10,"status":'new'}]
}
const outputData = Object.entries(entireObject).map(([time, arr]) => arr.map( i => ({...i, time}))).flat();
console.log(outputData);

演示:https://plnkr.co/edit/97AVLXG8GeSzc7wo

例子