gpt4 book ai didi

javascript - 如何过滤两个日期之间的对象数组?

转载 作者:行者123 更新时间:2023-11-28 13:14:48 26 4
gpt4 key购买 nike

除了偶尔的 jQuery 选择器和元素修改之外,我不太擅长 JavaScript。对于我遇到的问题,我需要按日期过滤掉 javascript 对象。我的结构如下所示:

Object { version: "3.1.1", released_on: "2016-08-21T00:00:00.000Z", high_vulns: 15, medium_vulns: 10, low_vulns: 5 }

我想找到 10 年来的所有对象,因此在 "2016-08-21T00:00:00.000Z""2010-08-21T00:00:00.000Z"之间" 我遇到的问题是 released_on: 字段是字符串而不是日期。我是否需要创建一个 new Date() 对象,将其转换为字符串,然后使用 .filter 或者我会做相反的操作,将字符串转换为日期并然后过滤。以前有人尝试过类似的事情吗?

最佳答案

您可以执行以下操作;

var data = [{ version: "3.1.1", released_on: "2016-08-21T00:00:00.000Z", high_vulns: 15, medium_vulns: 10, low_vulns: 5 },
{ version: "3.1.1", released_on: "2011-08-21T00:00:00.000Z", high_vulns: 15, medium_vulns: 10, low_vulns: 5 },
{ version: "3.1.1", released_on: "2009-08-21T00:00:00.000Z", high_vulns: 15, medium_vulns: 10, low_vulns: 5 },
{ version: "3.1.1", released_on: "2006-08-21T00:00:00.000Z", high_vulns: 15, medium_vulns: 10, low_vulns: 5 },
{ version: "3.1.1", released_on: "2013-08-21T00:00:00.000Z", high_vulns: 15, medium_vulns: 10, low_vulns: 5 },
{ version: "3.1.1", released_on: "2017-08-21T00:00:00.000Z", high_vulns: 15, medium_vulns: 10, low_vulns: 5 },
{ version: "3.1.1", released_on: "2015-08-21T00:00:00.000Z", high_vulns: 15, medium_vulns: 10, low_vulns: 5 },
],
ed = new Date("2016-08-21T00:00:00.000Z").getTime(),
sd = new Date("2010-08-21T00:00:00.000Z").getTime(),
result = data.filter(d => {var time = new Date(d.released_on).getTime();
return (sd < time && time < ed);
});
console.log(result);

关于javascript - 如何过滤两个日期之间的对象数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39515607/

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