gpt4 book ai didi

javascript - 按 2 个日期之间的日期过滤数组中的数组

转载 作者:太空狗 更新时间:2023-10-29 18:03:36 25 4
gpt4 key购买 nike

我正在尝试通过用户在 TypeScript 中为我的 Angular 应用程序输入的起始日期/截止日期来过滤折线图的数据数组。数据数组具有以下结构:

var multi = [
{
"name": "test1",
"series": [
{
"date": new Date("2018-01-01T01:10:00Z"),
"value": 44
},...
]
},
{
"name": "test2",
"series": [
{
"date": new Date("2018-01-01T01:10:00Z"),
"value": 38
},...
]
},
{
"name": "test3",
"series": [
{
"date": new Date("2018-01-01T01:10:00Z"),
"value": 33
},...
]
}
];

我现在想根据内部日期在“fromDate”之后和“toDate”之前的条件来过滤数组的项目。我尝试了以下方法:

obj.forEach(data => {
console.log(data.name);
data.series = data.series.filter((item: any) => {
item.date.getTime() >= fromDate.getTime() &&
item.date.getTime() <= toDate.getTime();
});
});

obj[] 数组后面有一个空的 obj[i].series 数组。有人可以帮我吗?迭代似乎是正确的,因为调试给了我所有的日期,而且日期比较中的 true/False 语句也是正确的。

提前致谢

最佳答案

您需要显式返回比较值

data.series = data.series.filter((item: any) => {
return item.date.getTime() >= fromDate.getTime() &&
item.date.getTime() <= toDate.getTime();
});

或者没有括号,隐式。

data.series = data.series.filter((item: any) =>
item.date.getTime() >= fromDate.getTime() && item.date.getTime() <= toDate.getTime()
);

关于javascript - 按 2 个日期之间的日期过滤数组中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48227286/

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