如何在javascript中显示基于日期的数组
代码如下: 列表.组件.ts 我想要的是,如果data1有一个数组(16),那么data2有一个数组(20),它们都有相同的日期,但是data2有不应该显示的最旧数据 输出应如下所示:如何在javascript中显示基于日期的数组,javascript,typescript,Javascript,Typescript,代码如下: 列表.组件.ts 我想要的是,如果data1有一个数组(16),那么data2有一个数组(20),它们都有相同的日期,但是data2有不应该显示的最旧数据 输出应如下所示: [ { dateStart: "2020-02-14 00:00:01", name: "Server1" }, { dateStart: "2020-02-13 14:00:01", name: "Server1" }, { dateStart: "2
[
{
dateStart: "2020-02-14 00:00:01",
name: "Server1"
},
{
dateStart: "2020-02-13 14:00:01",
name: "Server1"
},
{
dateStart: "2020-02-13 13:00:01",
name: "Server1"
},
{
dateStart: "2020-02-13 12:00:01",
name: "Server1"
},
{
dateStart: "2020-02-13 11:00:01",
name: "Server1"
}
],
[
{
dateStart: "2020-02-13 14:00:01",
name: 'Server2'
},
{
dateStart: "2020-02-13 13:00:01",
name: 'Server2'
},
{
dateStart: "2020-02-13 12:00:01",
name: 'Server2'
},
{
dateStart: "2020-02-13 11:00:01",
name: 'Server2'
}
]
代码如下:
如果有一个新的数组。这是数据3,它有一个数组(25),然后它会相互比较。与data1、data2和data3一样,如果日期不匹配,则不会显示
例如:
data1 = [{
dateStart: "2020-02-13 14:00:01",
name: 'Server1'
},
{
dateStart: "2020-02-13 13:00:01",
name: 'Server1'
},
{
dateStart: "2020-02-13 12:00:01",
name: 'Server1'
}]
data2 = [ {
dateStart: "2020-02-13 14:00:01",
name: 'Server2'
},
{
dateStart: "2020-02-13 13:00:01",
name: 'Server2'
},
{
dateStart: "2020-02-13 12:00:01",
name: 'Server2'
},
{
dateStart: "2020-02-13 11:00:01",
name: 'Server2'
},
{
dateStart: "2020-02-12 11:00:01",
name: 'Server2'
}],
data3 = [ {
dateStart: "2020-02-13 14:00:01",
name: 'Server3'
},
{
dateStart: "2020-02-13 13:12:01",
name: 'Server3'
},
{
dateStart: "2020-02-13 12:00:01",
name: 'Server3'
},
{
dateStart: "2020-02-13 11:00:01",
name: 'Server3'
},
{
dateStart: "2020-02-12 10:00:01",
name: 'Server3'
}]
输出应该是
[{
dateStart: "2020-02-13 14:00:01",
name: 'Server1'
},
{
dateStart: "2020-02-13 13:00:01",
name: 'Server1'
},
{
dateStart: "2020-02-13 12:00:01",
name: 'Server1'
}],
[ {
dateStart: "2020-02-13 14:00:01",
name: 'Server2'
},
{
dateStart: "2020-02-13 13:00:01",
name: 'Server2'
},
{
dateStart: "2020-02-13 12:00:01",
name: 'Server2'
}],
[ {
dateStart: "2020-02-13 14:00:01",
name: 'Server3'
},
{
dateStart: "2020-02-13 13:12:01",
name: 'Server3'
},
{
dateStart: "2020-02-13 12:00:01",
name: 'Server3'
},
{
dateStart: "2020-02-13 11:00:01",
name: 'Server3'
},
{
dateStart: "2020-02-12 10:00:01",
name: 'Server3'
}]
如果您想像这样保存数据,只需使用spread运算符
(…)
,如下所示:
const data1 = [
{
dateStart: "2020-02-14 00:00:01",
name: 'Server1'
},
{
dateStart: "2020-02-13 14:00:01",
name: 'Server1'
},
{
dateStart: "2020-02-13 13:00:01",
name: 'Server1'
},
{
dateStart: "2020-02-13 12:00:01",
name: 'Server1'
},
{
dateStart: "2020-02-13 11:00:01",
name: 'Server1'
}
];
const data2 = [
{
dateStart: "2020-02-13 14:00:01",
name: 'Server2'
},
{
dateStart: "2020-02-13 13:00:01",
name: 'Server2'
},
{
dateStart: "2020-02-13 12:00:01",
name: 'Server2'
},
{
dateStart: "2020-02-13 11:00:01",
name: 'Server2'
},
{
dateStart: "2020-02-12 11:00:01",
name: 'Server2'
},
{
dateStart: "2020-02-11 11:00:01",
name: 'Server2'
},
]
let final = [[...data1] , [...data2] , ... more arrays];
输出为:
[ [ { dateStart: '2020-02-14 00:00:01', name: 'Server1' },
{ dateStart: '2020-02-13 14:00:01', name: 'Server1' },
{ dateStart: '2020-02-13 13:00:01', name: 'Server1' },
{ dateStart: '2020-02-13 12:00:01', name: 'Server1' },
{ dateStart: '2020-02-13 11:00:01', name: 'Server1' } ],
[ { dateStart: '2020-02-13 14:00:01', name: 'Server2' },
{ dateStart: '2020-02-13 13:00:01', name: 'Server2' },
{ dateStart: '2020-02-13 12:00:01', name: 'Server2' },
{ dateStart: '2020-02-13 11:00:01', name: 'Server2' },
{ dateStart: '2020-02-12 11:00:01', name: 'Server2' },
{ dateStart: '2020-02-11 11:00:01', name: 'Server2' } ] ]
我将以这种方式提出解决方案-
- 合并数组之前,如果未排序,请对其进行排序(降序)。对其使用
array.sort()
- 要进行合并,请将第一个数组
放入新数组,并将此数组的最后一条记录保存在temp变量中<代码>让temp=data1[data1.length-1].dateStart。因为您不需要来自早于此日期的其他阵列的数据data1
- 迭代剩余数组
,如果data2、data3、…
不早于dateStart
,则将数据推送到新数组中李>temp
data1.sort排序的data1.sort((a,b)=>new Date(a.dateStart).getTime()-new Date(b.dateStart).getTime())
。
[ [ { dateStart: '2020-02-14 00:00:01', name: 'Server1' },
{ dateStart: '2020-02-13 14:00:01', name: 'Server1' },
{ dateStart: '2020-02-13 13:00:01', name: 'Server1' },
{ dateStart: '2020-02-13 12:00:01', name: 'Server1' },
{ dateStart: '2020-02-13 11:00:01', name: 'Server1' } ],
[ { dateStart: '2020-02-13 14:00:01', name: 'Server2' },
{ dateStart: '2020-02-13 13:00:01', name: 'Server2' },
{ dateStart: '2020-02-13 12:00:01', name: 'Server2' },
{ dateStart: '2020-02-13 11:00:01', name: 'Server2' },
{ dateStart: '2020-02-12 11:00:01', name: 'Server2' },
{ dateStart: '2020-02-11 11:00:01', name: 'Server2' } ] ]