gpt4 book ai didi

javascript - 如何按键组合数组中的值?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:44:51 25 4
gpt4 key购买 nike

我有这样的数据:

data = [
[
{"name":"cpumhz","data":[[1433856538,0],[1433856598,0]]},
{"name":"mem","data":[[1433856538,13660],[1433856598,13660]]}
],
[
{"name":"cpumhz","data":[[1433856538,0],[1433856598,0]]},
{"name":"mem","data":[[1433856538,13660],[1433856598,13660]]}
],
[
{"name":"cpumhz","data":[[1433856538,0],[1433856598,0]]},
{"name":"mem","data":[[1433856538,13660],[1433856598,13660]]}
]
];

我如何使用 map 来组合数组项,以便连接 data 属性?

像这样:

data = [
[
{"name":"cpumhz","data":[[1433856538,0],[1433856598,0],[1433856538,0],[1433856598,0], [1433856538,0],[1433856598,0]]},
{"name":"mem","data":[[1433856538,13660],[1433856598,13660], [1433856538,13660],[1433856598,13660], [1433856538,13660],[1433856598,13660]]}
]
];

通过像这样以非编程方式进行操作,我越来越接近了:

res = []

cpudata = _.flatten([data[0][0].data, data[1][0].data, data[2][0].data])
res.push({name: 'cpumhz', data: cpudata})

memdata = _.flatten([data[0][1].data, data[1][1].data, data[2][1].data])
res.push({name: 'mem', data: memdata})

http://jsbin.com/bekodirili/7/edit

最佳答案

研究使用 reduce功能。 Underscore/lodash 具有等效的功能。

本质上,您想要获取 data 并将其reduce 为具有 2 个值的 1 个数组。像下面这样的东西应该可以工作:

var reducedData = data.reduce(function(prev, cur) {
prev.forEach(function(value, index) {
value.data = value.data.concat(cur[index].data);
});

return prev;
});

您遍历 data 中的每个值并减少它。您将先前的子数据与当前的子数据连接起来并返回新值。

关于javascript - 如何按键组合数组中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30738100/

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