javascript——返回一个对象,其中包含具有相同小时时间戳的属性的平均值
发布时间:2022-02-22 00:39:48 532
相关标签: # 数据
我有一个对象数组,看起来像这样:
[{
TIMESTAMP: "2021-05-07 03:32:00.0",
PM2_5: "27.4",
PM10: "67.9",
CO: "0.058",
},
{
TIMESTAMP: "2021-05-07 03:42:00.0",
PM2_5: "27.0",
PM10: "67.3",
CO: "0.026",
},
{
TIMESTAMP: "2021-05-07 04:08:00.0",
PM2_5: "27.0",
PM10: "67.3",
CO: "0.066",
}
...]
还有更多关于ofc的数据。我想做一个函数,将我的数组作为参数,并返回一个对象。在这个返回对象中,我想将所有具有相同时间戳的对象合并在一起,并对它们的所有属性进行平均。我不知道他们将拥有哪些房产,而且数量可能会有所不同。例如,对于3h处的所有对象,我将
{
TIMESTAMP: "2021-05-07 03:00:00.0",
PM2_5: "27.2",
PM10: "67.3",
CO: "0.046",
}
对于3h范围,我将得到一个对象中所有数据的平均值。我想在阵列中尽我所能做到这一点。我试图使用reduce,或者做一个大循环,但我的问题是,我不想精确循环中的键,我想让它适用于所有可能存在的键。
function getAverage(datas) {
const res = []
datas.forEach((data, i) => {
if (moment.tz(data.TIMESTAMP, 'YYYY-MM-DD HH:mm:ss', TIMEZONE).hour() === moment.tz(data[i + 1].TIMESTAMP,'YYYY-MM-DD HH:mm:ss', TIMEZONE).hour()) {
data += data.PM10
}
res.push(data / i)
i = 0
})
return res
}
我现在就这么做了,但这离我想要的结果还很远
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报