JSFiddle - React, Tailwind, and code Playground
HTML
<pre class='t'>
</pre>
JavaScript
var sArray = [{
season: 1,
episode: 2,
notes: "..."
}, {
season: 1,
episode: 2,
notes: "..."
}, {
season: 1,
episode: 1,
notes: "..."
}, {
season: -1,
episode: -1,
notes: "..."
}, {
season: -1,
episode: -1,
notes: "..."
}, {
season: -1,
episode: -1,
notes: "..."
}, {
season: 3,
episode: 1,
notes: "..."
}, {
season: 13,
episode: 12,
notes: "..."
}, {
season: 2,
episode: 1,
notes: "..."
}];
sArray.sort(function (a, b) {
var aSize = a.season,
bSize = b.season,
aLow = a.episode,
bLow = b.episode;
if (a.season == b.season) {
return (a.episode < b.episode) ? -1 : (a.episode > b.episode) ? 1 : 0;
} else {
return (a.season < b.season) ? -1 : 1;
}
});
var c=sArray.length,
i=0,
sfArray={};
for(i=0;i<c;i++){
var key='S'+((sArray[i].season<10 && sArray[i].season>-1)? '0'+sArray[i].season:sArray[i].season)+' E'+((sArray[i].episode<10 && sArray[i].episode>-1)? '0'+sArray[i].episode:sArray[i].episode);
if(!(key in sfArray))
sfArray[key]=[];
sfArray[key].push(sArray[i]);
}
$('.t').append(sfArray.toSource());