Monday, June 3, 2024
 Popular · Latest · Hot · Upcoming
152
rated 0 times [  156] [ 4]  / answers: 1 / hits: 21419  / 8 Years ago, thu, september 15, 2016, 12:00:00

Aside from the occasional jQuery selectors and element modifications, I'm not too great at javascript. For a problem I'm having, I need to filter out a javascript object by date. I have a structure that looks like this:



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


I want to find all of the objects from 10 years so between 2016-08-21T00:00:00.000Z and 2010-08-21T00:00:00.000Z The problem I'm experiencing is that the released_on: field is a string not a date. Would I need to create a new Date() object convert it into a string, and then use .filter or would I do the opposite, convert the string into a date and then filter. Has anyone tried something like this before?


More From » jquery

 Answers
21

You might do as follows;





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);




[#60705] Tuesday, September 13, 2016, 8 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
payne

Total Points: 527
Total Questions: 108
Total Answers: 88

Location: Tajikistan
Member since Thu, Apr 14, 2022
2 Years ago
payne questions
Thu, Sep 3, 20, 00:00, 4 Years ago
Tue, Aug 18, 20, 00:00, 4 Years ago
Thu, Oct 11, 18, 00:00, 6 Years ago
;