我正在尝试通过将json与当前日期进行比较来按其开始日期和结束日期过滤json。我想按其开始日期对过滤后的json进行排序。到目前为止,这是我所做的
dateNow = new Date();
filteredJson = ufjson.filter((item, index) => item.start_date <= dateNow && item.end_date <= dateNow);
但是,过滤器不起作用。我没有结果。
这是我的示例json
ufjson = [
{
amount: '50',
discount: '0',
start_date: '2021-01-01T18:24:18.790+08:00',
end_date: '2020-01-29T18:24:18.790+08:00',
},
{
amount: '100',
discount: '10',
start_date: '2021-01-05T18:24:18.790+08:00',
end_date: '2020-01-25T18:24:18.790+08:00',
},
]
您所做的是比较两个字符串。您首先必须将它们更改为Number。你可以这样做:
var ufjson = [
{
amount: "50",
discount: "0",
start_date: "2021-01-01T18:24:18.790+08:00",
end_date: "2020-01-29T18:24:18.790+08:00",
},
{
amount: "100",
discount: "10",
start_date: "2021-01-21T18:24:18.790+08:00",
end_date: "2020-01-25T18:24:18.790+08:00",
},
];
var dateNow = new Date();
var filteredJson = ufjson.filter(
(item, index) =>
new Date(item.start_date).getTime() <= dateNow.getTime() &&
new Date(item.end_date).getTime() <= dateNow.getTime()
);
console.log("item:", filteredJson);
我刚刚更改了第二个约会开始时间。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句