I have an array.
array1 = [
{playtime: 110, date: "05 Jun"},
{playtime: 115, date: "04 Jun"},
{playtime: 113, date: "05 Jun"},
{playtime: 120, date: "03 Jun"},
{playtime: 108, date: "02 Jun"},
{playtime: 114, date: "01 Jun"},
{playtime: 106, date: "30 May"},
{playtime: 90, date: "12 Jun"},
{playtime: 89, date: "12 Jun"},
{playtime: 89, date: "11 Jun"},
{playtime: 95, date: "11 Jun"},
{playtime: 99, date: "10 Jun"},
{playtime: 98, date: "06 Jun"},
{playtime: 96, date: "08 Jun"},
{playtime: 120, date: "06 Jun"},
{playtime: 102, date: "07 Jun"},
{playtime: 120, date: "09 Jun"},
{playtime: 190, date: "12 Jun"}
];
I have to remove the duplicates of the array1
(array with the same date
are considered duplicate) and should need only the latest entry and sort the array in the descending order of the date - latest date should come first.
My first stage array should look like
array1 = [
{playtime: 90, date: "12 Jun"},
{playtime: 89, date: "11 Jun"},
{playtime: 99, date: "10 Jun"},
{playtime: 120, date: "09 Jun"},
{playtime: 96, date: "08 Jun"},
{playtime: 102, date: "07 Jun"},
{playtime: 98, date: "06 Jun"},
{playtime: 110, date: "05 Jun"},
{playtime: 115, date: "04 Jun"},
{playtime: 120, date: "03 Jun"},
{playtime: 108, date: "02 Jun"},
{playtime: 114, date: "01 Jun"},
{playtime: 106, date: "30 May"}
];
And, then I have to splice the first 5 entries and then display from old to a new date(latest date should come last);
The final array should look like,
array1 = [
{playtime: 106, date: "30 May"},
{playtime: 114, date: "01 Jun"},
{playtime: 108, date: "02 Jun"},
{playtime: 120, date: "03 Jun"},
{playtime: 115, date: "04 Jun"}
];
I have tried sorting with
array1.sort(function (a, b) {
return (a.date-b.date);
});
But, got stuck.