将如下格式转换为
{
id: 1,
device_id: 265,
device_name: "p1",
if_id: 1031,
if_name: "GigabitEthernet0/0/0/1.236",
int_flow: 1,
out_flow: 2,
collect_time: "2020-02-14 20:42:12",
createDate: 1581684132000
},
{
id: 2,
device_id: 265,
device_name: "p1",
if_id: 1031,
if_name: "GigabitEthernet0/0/0/1.231",
int_flow: 3,
out_flow: 4,
collect_time: "2020-02-14 20:52:12",
createDate: 1581684732000
},
{
id: 3,
device_id: 267,
device_name: "p2",
if_id: 1031,
if_name: "GigabitEthernet0/0/0/1.231",
int_flow: 5,
out_flow: 6,
collect_time: "2020-02-14 20:42:12",
createDate: 1581684132000
},
{
id: 4,
device_id: 267,
device_name: "p2",
if_id: 1031,
if_name: "GigabitEthernet0/0/0/1.236",
int_flow: 7,
out_flow: 8,
collect_time: "2020-02-14 20:52:12",
createDate: 1581684732000
}
目标:
var hash = {};
var echartsData = [];
flows.forEach(item => {
var device_id = item.device_id;
var device_name = item.device_name;
var if_name = item.if_name;
var if_id = item.if_id;
hash[device_id]
? echartsData[hash[device_id] - 1].inc_list.push({
int_flow: item.int_flow,
out_flow: item.out_flow,
collect_time: item.collect_time,
id: item.id
})
: (hash[device_id] = echartsData.push({
inc_list: [
{
int_flow: item.int_flow,
out_flow: item.out_flow,
collect_time: item.collect_time,
id: item.id
}
],
device_id: device_id,
device_name: device_name,
if_name: if_name,
if_id: if_id
}));
});
console.log(echartsData);