JSFiddle - React, Tailwind, and code Playground
by ryanbrill
JavaScript
var arr = [
{
"playerName": "Stack",
"leaguePoints": 100,
"wins": 280,
"miniSeries": {
"progress": "WNN",
"losses": 0,
"wins": 3
}
},
{
"playerName": "Stack",
"leaguePoints": 100,
"wins": 280,
"miniSeries": {
"progress": "WNN",
"losses": 0,
"wins": 2
}
},
{
"playerName": "Overflow",
"leaguePoints": 90,
"wins": 280
},
{
"playerName": "Overflow",
"leaguePoints": 80,
"wins": 280
},
{
"playerName": "Overflow",
"leaguePoints": 95,
"wins": 280
},
{
"playerName": "StackOverflow",
"leaguePoints": 0,
"wins": 120
},
{
"playerName": "StackOverflow",
"leaguePoints": 0,
"wins": 110
}
];
arr = arr.sort(function(a,b) {
if (a.leaguePoints != b.leaguePoints) {
if(a.leaguePoints < b.leaguePoints) {
return 1;
}
if(a.leaguePoints > b.leaguePoints) {
return -1;
}
return 0;
}
switch(a.leaguePoints) {
case 100:
var agames = a.miniSeries.wins + a.miniSeries.losses,
bgames = b.miniSeries.wins + b.miniSeries.losses;
//console.log(agames, bgames);
if (agames < bgames)
return 1;
if (agames > bgames)
return -1;
return 0;
case 0:
if (a.wins < b.wins)
return 1;
if (a.wins > b.wins)
return -1;
return 0;
default:
if (a.leaguePoints < b.leaguePoints)
return 1;
if (a.leaguePoints > b.leaguePoints)
return -1;
return 0;
}
});
console.log(arr);