JSFiddle - React, Tailwind, and code Playground
by Arif Hasan
JavaScript
const sort_by = (field, reverse, primer) => {
const key = primer ?
function(x) {
return primer(x[field])
} :
function(x) {
return x[field]
};
reverse = !reverse ? 1 : -1;
return function(a, b) {
return a = key(a), b = key(b), reverse * ((a > b) - (b > a));
}
}
var homes = [
{
"id": "42367c6a-8b49-41ad-9a1b-b10b81bc3098",
"name": "inv",
"project": {
"id": "ccaf7b45-932e-40d0-bef3-eb43586dcc3c",
"name": "Project 2"
},
"time": "00:37:00",
"last_worked": "2020-04-20T12:32:18"
},
{
"id": "5da383df-d01e-47db-b84c-ab496c2699b6",
"name": "arif1",
"project": {
"id": "ccaf7b45-932e-40d0-bef3-eb43586dcc3c",
"name": "Project 2"
},
"time": "00:00:00",
"last_worked": "2020-04-16T11:09:44"
},
{
"id": "6a513e14-8775-426b-9e7c-f6ba643cd64f",
"name": "fff",
"project": {
"id": "10848a79-3cbb-4b73-82ee-f0b5fe5f2748",
"name": "Project 1"
},
"time": "00:00:00",
"last_worked": "2020-04-16T11:13:25"
},
{
"id": "9199c56c-5b80-4b16-9c7e-35ee0fd81d65",
"name": "dddddd",
"project": {
"id": "ccaf7b45-932e-40d0-bef3-eb43586dcc3c",
"name": "Project 2"
},
"time": "00:00:00",
"last_worked": "2020-04-15T02:32:29"
},
{
"id": "ffaefd75-6945-42a9-a266-4ef142b23de2",
"name": "Task1x",
"project": {
"id": "10848a79-3cbb-4b73-82ee-f0b5fe5f2748",
"name": "Project 1"
},
"time": "00:00:00",
"last_worked": "2020-04-16T11:11:08"
}
]
var ab=homes.sort(sort_by('last_worked', true, Date.parse));
if (ab.length>2){
ab.length=2
}
console.log(ab)