【发布时间】:2021-06-24 23:06:42
【问题描述】:
我有一个包含大量对象的数组(大约 200k 到 1M 个条目)。每个对象如下所示:
Row {
month_year_index: 'september_2019_2',
localcol: 2019-09-13T00:52:16.847Z,
datamap: {
Curr1_mA: 769,
Curr2_mA: 139,
Curr3_mA: 0,
P1_W: 75,
P2_W: 0,
P3_W: 0,
P_Total_W: 75,
U1N_Vx10: 2261,
U2N_Vx10: 2330,
U3N_Vx10: 2360
}
}
我每 10 秒就有一次这些对象,我需要将它们按一个 timeUnit 分组,如下所示:
- 1 分钟 = 60000 毫秒
- 5 分钟 = 300000 毫秒
- 15 分钟 = 900000 毫秒
- 1 小时 = 3600000 毫秒
所以,基本上我需要将原始数组转换为一个数组数组,其中该数组的第一个元素将是一个包含此范围内对象的数组(在示例中使用 5 分钟作为时间单位):
[[first_object_timestamp, first_object_timestamp + 300000], [first_object_timestamp + 30000,first_object_timestamp + 600000]]
如果更简单,您可以将数组转换为单个对象,其中 datamap 属性具有值的平均值,因为无论如何我都必须这样做。
【问题讨论】:
标签: javascript node.js arrays timestamp grouping