Reputation: 195
I want to sort by BOTH day and order.
Condition 1: sort by day (1-7)
Condition 2: sort by order (1-5)
It must sort day first and then order.
I can easily sort by day using sort function. I can't sort together same time.
Data to sort
[
{id: 1,
day: 4,
order: 2
},
{id: 2,
day: 2,
order: 1,
},
{id: 3,
day: 1,
order: 5
},
{id: 4,
day: 5,
order: 5,
}
]
Result I expect:
[
{id: 3,
day: 1,
order: 5
},
{id: 2,
day: 2,
order: 1,
},
{id: 1,
day: 4,
order: 2
},
{id: 4,
day: 5,
order: 5,
}
]
Upvotes: 1
Views: 31
Reputation: 18975
You can sort by
arr.sort((a, b) => a.day - b.day || a.order - b.order);
let arr = [
{id: 1,
day: 4,
order: 2
},
{id: 2,
day: 2,
order: 1,
},
{id: 3,
day: 1,
order: 5
},
{id: 4,
day: 5,
order: 5,
}
]
arr.sort((a, b) => a.day - b.day || a.order - b.order);
console.log(arr);
Upvotes: 1