var developers = [
{ name: "Joe", age: 23, overallLevel: "high", date: "Aug 14, 2015" },
{ name: "Sue", age: 28, overallLevel: "advanced", date: "Aug 11, 2015" },
{ name: "Jon", age: 32, overallLevel: "high", date: "Aug 10, 2015" },
{ name: "Bob", age: 24, overallLevel: "high", date: "Sept 07, 2015" },
{ name: "Johnson", age: 23, overallLevel: "advanced", date: "Aug 20, 2015" },
{ name: "Paul", age: 25, overallLevel: "basic", date: "Jan 30, 2016" },
{ name: "Jane", age: 27, overallLevel: "intermediate", date: "Aug 30, 2016" },
{ name: "Chris", age: 20, overallLevel: "basic", date: "Aug 1, 2016" },
{ name: "Susan", age: 25, overallLevel: "basic", date: "Dec 12, 2015" },
{ name: "Jenny", age: 23, overallLevel: "intermediate", date: "Aug 30, 2016" },
{ name: "Stone", age: 25, overallLevel: "basic", date: "June 13, 2016" },
]
Following is the data extracted from array which indicates levels followed by their dates.
"high" : Aug 10, 2015, Aug 14, 2015, Sept 07, 2015
"advanced" : Aug 11, 2015, Aug 20, 2015
"basic" : Jan 30, 2016, Aug 1, 2016, Dec 12, 2015, June 13, 2016,
"intermediate" : Aug 30, 2016, Aug 30, 2016
Expected output: Require the range of min and max date i.e shown further
{ high : Aug 10, 2015 - Sept 07,2015, advanced : Aug 11, 2015 - Aug 20,2015, basic : Dec 12, 2015 - Aug 1,2016, intermediate : Jan 30,2016 }
This is what i was able to get the count of overallLevel for grouping purpose.
var developers = [
{ name: "Joe", age: 23, overallLevel: "high", date: "Aug 14, 2015" },
{ name: "Sue", age: 28, overallLevel: "advanced", date: "Aug 11, 2015" },
{ name: "Jon", age: 32, overallLevel: "high", date: "Aug 10, 2015" },
{ name: "Bob", age: 24, overallLevel: "high", date: "Sept 07, 2015" },
{ name: "Johnson", age: 23, overallLevel: "advanced", date: "Aug 20, 2015" },
{ name: "Paul", age: 25, overallLevel: "basic", date: "Jan 30, 2016" },
{ name: "Jane", age: 27, overallLevel: "intermediate", date: "Aug 30, 2016" },
{ name: "Chris", age: 20, overallLevel: "basic", date: "Aug 1, 2016" },
{ name: "Susan", age: 25, overallLevel: "basic", date: "Dec 12, 2015" },
{ name: "Jenny", age: 23, overallLevel: "intermediate", date: "Aug 30, 2016" },
{ name: "Stone", age: 25, overallLevel: "basic", date: "June 13, 2016" },
],
overallLevel = developers.reduce(function (r, a) {
r[a.overallLevel] = (r[a.overallLevel] || 0) + 1;
return r;
}, {});
console.log(overallLevel);
Please visit this : https://jsfiddle.net/Saily/6nzxd6ss/