我想创建一个数组来循环第一个数组的一个参数(在本例中,所需的参数是DT
),并检查在这些日期是否有不同应用程序的数据,如果有,它将把它的值放入第二个数组中,如果没有,它将放入0。
我所做的也是const pluck = (arr, key) => arr.map(i => i[key]);
,我获得了所需的字段日期(但它们有重复的值)。为了删除重复的值,我使用了dates = [...new Set(dates)];
,最后循环了最终的值并编写了一系列代码,但我没有得到我想要的(下面的预期数组)。
first_array = [
{
DT: "2022-01-01",
APP: "Application 1",
SPEED: 1547,
},
{
DT: "2022-01-01",
APP: "Application 2",
SPEED: 685,
},
{
DT: "2022-01-02",
APP: "Application 1",
SPEED: 500,
},
{
DT: "2022-01-02",
APP: "Application 2",
SPEED: 300,
},
{
DT: "2022-01-02",
APP: "Application 3",
SPEED: 600,
},
{
DT: "2022-01-03",
APP: "Application 1",
SPEED: 1000,
},
]
需要数组:
desire_array = [
{
Name: "Application1",
Values: [1547, 500, 1000],
ValuesWithDate: [{x: '2022-01-01', y: 1547}, {x: '2022-01-02', y: 500}, {x: '2022-01-03', y: 1000}],
},
{
Name: "Application2",
Values: [685, 300, 0],
ValuesWithDate: [{x: '2022-01-01', y: 685}, {x: '2022-01-02', y: 300}, {x: '2022-01-03', y: 0}],
},
{
Name: "Application3",
Values: [0, 600, 0],
ValuesWithDate: [{x: '2022-01-01', y: 0}, {x: '2022-01-02', y: 600}, {x: '2022-01-03', y: 0}],
},
]
我需要这样做的原因是创建一个series,我可以使用它来显示ApexCharts图表。
真实的数据也可以从this api显示为JSON。
4条答案
按热度按时间gkl3eglg1#
您可以:
o7jaxewo2#
你可以试试这样的东西:
并像这样使用它:
vngu2lb83#
预期:
b5buobof4#
您期望的结果可以得到这个代码。
希望有帮助。