组中的值相减"/>
将散列数组中的值相减
我想减去哈希数组中的两个值,以便知道丢弃值的增长。
我的数组是这个:
array =
{"SiteA": [
{device:"SiteA", discardmax:16617331511, timeCapturedmax:"February 18, 2018 at 09:27 AM"},
{device:"SiteA", discardmax:16617216094, timeCapturedmax:"February 18, 2018 at 09:22 AM"},
{device:"SiteA", discardmax:16617202279, timeCapturedmax:"February 18, 2018 at 09:18 AM"},
{device:"SiteA", discardmax:16616985649, timeCapturedmax:"February 18, 2018 at 09:12 AM"},
{device:"SiteA", discardmax:16616404836, timeCapturedmax:"February 18, 2018 at 09:07 AM"},
{device:"SiteA", discardmax:16616368250, timeCapturedmax:"February 18, 2018 at 09:03 AM"}
],
"SiteB": [
{device:"SiteB", discardmax:16617331511, timeCapturedmax:"February 18, 2018 at 09:27 AM"},
{device:"SiteB", discardmax:16617216094, timeCapturedmax:"February 18, 2018 at 09:22 AM"},
{device:"SiteB", discardmax:16617202279, timeCapturedmax:"February 18, 2018 at 09:18 AM"},
{device:"SiteB", discardmax:16616985649, timeCapturedmax:"February 18, 2018 at 09:12 AM"},
{device:"SiteB", discardmax:16616404836, timeCapturedmax:"February 18, 2018 at 09:07 AM"},
{device:"SiteB", discardmax:16616368250, timeCapturedmax:"February 18, 2018 at 09:03 AM"}
]}
我想从'discardmax'中减去值并获得以下数组。
[
{device:"SiteA", discardmax:115417, timeCapturedmax:"February 18, 2018 at 09:27 AM"},
{device:"SiteA", discardmax:13815, timeCapturedmax:"February 18, 2018 at 09:22 AM"},
{device:"SiteA", discardmax:216630, timeCapturedmax:"February 18, 2018 at 09:18 AM"},
{device:"SiteA", discardmax:580813, timeCapturedmax:"February 18, 2018 at 09:12 AM"},
{device:"SiteA", discardmax:36586, timeCapturedmax:"February 18, 2018 at 09:07 AM"},
{device:"SiteB", discardmax:115417, timeCapturedmax:"February 18, 2018 at 09:27 AM"},
{device:"SiteB", discardmax:13815, timeCapturedmax:"February 18, 2018 at 09:22 AM"},
{device:"SiteB", discardmax:216630, timeCapturedmax:"February 18, 2018 at 09:18 AM"},
{device:"SiteB", discardmax:580813, timeCapturedmax:"February 18, 2018 at 09:12 AM"},
{device:"SiteB", discardmax:36586, timeCapturedmax:"February 18, 2018 at 09:07 AM"}
]
在ruby中,我使用了这段代码,但是现在我想使用javascript:
keystotal = arrya.keys
arr_sub = keystotal.map { |k|
[k, groupedtotal[k].each_cons(2).map do |g,h|
{ devicetotal: g[:devicetotal], porttotal: g[:porttotal], device_int_stats_total: g[:device_int_stats_total], octetsrxsub: g[:octetsrxtotal]-h[:octetsrxtotal], octetstxsub: g[:octetstxtotal]-h[:octetstxtotal], time_unixsub: g[:time_unixtotal]-h[:time_unixtotal], time_unixtotal: g[:time_unixtotal], timeCapturedtotal: g[:timeCapturedtotal]}
end
]
}
table_sub = arr_sub.map { |ts| ts[1] }
回答如下:循环遍历数组,从array[i+1].discardmax
中减去array[i].discardmax
。创建一个新对象,将其合并为array[i]
的副本。
array = [
{device:"router", discardmax:16617331511, timeCapturedmax:"February 18, 2018 at 09:27 AM"},
{device:"router", discardmax:16617216094, timeCapturedmax:"February 18, 2018 at 09:22 AM"},
{device:"router", discardmax:16617202279, timeCapturedmax:"February 18, 2018 at 09:18 AM"},
{device:"router", discardmax:16616985649, timeCapturedmax:"February 18, 2018 at 09:12 AM"},
{device:"router", discardmax:16616404836, timeCapturedmax:"February 18, 2018 at 09:07 AM"},
{device:"router", discardmax:16616368250, timeCapturedmax:"February 18, 2018 at 09:03 AM"}
]
var result = [];
for (var i = 0; i < array.length-1; i++) {
result.push({...array[i], discardmax: array[i].discardmax - array[i+1].discardmax});
}
console.log(result);
更多推荐
将散列数组中的值相减
发布评论