Javascript 如何筛选两个日期之间的对象数组?

Javascript 如何筛选两个日期之间的对象数组?,javascript,jquery,Javascript,Jquery,除了偶尔的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”和“20

除了偶尔的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”
之间,我遇到的问题是
发布时间:
字段是字符串而不是日期。我是否需要创建一个
新日期()
对象,将其转换为字符串,然后使用
.filter
,或者我是否需要执行相反的操作,将字符串转换为日期,然后进行筛选。以前有人试过类似的方法吗?

你可以这样做

var数据=[{版本:“3.1.1”,发布日期:“2016-08-21T00:00:00.000Z”,高风险:15,中风险:10,低风险:5},
{版本:“3.1.1”,发布日期:“2011-08-21T00:00:00.000Z”,高版本:15,中版本:10,低版本:5},
{版本:“3.1.1”,发布日期:“2009-08-21T00:00:00.000Z”,高版本:15,中版本:10,低版本:5},
{版本:“3.1.1”,发布日期:“2006-08-21T00:00:00.000Z”,高版本:15,中版本:10,低版本:5},
{版本:“3.1.1”,发布日期:“2013-08-21T00:00:00.000Z”,高版本:15,中版本:10,低版本:5},
{版本:“3.1.1”,发布日期:“2017-08-21T00:00:00.000Z”,高版本:15,中版本:10,低版本:5},
{版本:“3.1.1”,发布日期:“2015-08-21T00:00:00.000Z”,高版本:15,中版本:10,低版本:5},
],
ed=新日期(“2016-08-21T00:00:00.000Z”).getTime(),
sd=新日期(“2010-08-21T00:00:00.000Z”).getTime(),
result=data.filter(d=>{var time=newdate(d.released_on).getTime();
返回(sd控制台日志(结果)您可以执行以下操作:

var数据=[{版本:“3.1.1”,发布日期:“2016-08-21T00:00:00.000Z”,高风险:15,中风险:10,低风险:5},
{版本:“3.1.1”,发布日期:“2011-08-21T00:00:00.000Z”,高版本:15,中版本:10,低版本:5},
{版本:“3.1.1”,发布日期:“2009-08-21T00:00:00.000Z”,高版本:15,中版本:10,低版本:5},
{版本:“3.1.1”,发布日期:“2006-08-21T00:00:00.000Z”,高版本:15,中版本:10,低版本:5},
{版本:“3.1.1”,发布日期:“2013-08-21T00:00:00.000Z”,高版本:15,中版本:10,低版本:5},
{版本:“3.1.1”,发布日期:“2017-08-21T00:00:00.000Z”,高版本:15,中版本:10,低版本:5},
{版本:“3.1.1”,发布日期:“2015-08-21T00:00:00.000Z”,高版本:15,中版本:10,低版本:5},
],
ed=新日期(“2016-08-21T00:00:00.000Z”).getTime(),
sd=新日期(“2010-08-21T00:00:00.000Z”).getTime(),
result=data.filter(d=>{var time=newdate(d.released_on).getTime();
返回(sd控制台日志(结果)
new Date().getTime()
将为您提供一个更易于使用的数字将其放入浏览器控制台
console.log(新日期(“2016-08-21T00:00:00.000Z”)
将看到您的日期字符串完全有效。甚至可以直接在日期对象上使用比较运算符。
new date()。getTime()
将为您提供一个更易于使用的数字。将其放入浏览器控制台
console.log(新日期(“2016-08-21T00:00:00.000Z”)
将看到您的日期字符串完全有效。甚至可以直接在日期对象上使用比较运算符