怎么把这几个数组合成一个?

发布于 2022-09-06 05:55:34 字数 593 浏览 12 评论 0

clipboard.png

有很多个dev ,dev1,dev2,dev3...
其中dev中对应的timestamp是一样的,例如dev1[0].timestamp=dev2[0].timestamp
想把dev中的state累加求平均值,dev1[0].state[0]+dev2[0].state[0]+dev3[0].state[0]....
得到

dev:[{timestamp:xxxx,state:[平均值1,平均值2,平均值3,平均值4,平均值5]
    {timestamp:xxxx,state:[平均值1,平均值2,平均值3,平均值4,平均值5]},
    {timestamp:xxxx,state:[平均值1,平均值2,平均值3,平均值4,平均值5]}
    ......
}]

求指导!!!

补充一下,dev的数量不确定,state里面的数量也不确定

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

月光色 2022-09-13 05:55:34
let merge = data => {
    let result = [];
    let keys = Object.keys(data);
    for (let i = 0; i < data[keys[0]].length || 0; i++) {
        let state = [];
        for (let j = 0; j < data[keys[0]][0].state.length; j++) {
            state[j] = 0;
            for (let key of keys) { 
                state[j] += data[key][i].state[j];
            }
            state[j] /= keys.length;
        }
        result.push({
            timestamp: data[keys[0]][i].timestamp,
            state
        });
    }
    return result;
}
夏见 2022-09-13 05:55:34

concat() 方法用于连接两个或多个数组。

用法

arrayObject.concat(arrayX,arrayX,......,arrayX)

arrayX 必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。

返回值

返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。

JavaScript concat() 方法

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文