JSFiddle - React, Tailwind, and code Playground
by jfriend00
CSS
body {font-family: "Courier New"; font-size: 12px;}
JavaScript
var input = ["10", "11", "12", "13", "2", "3", "4", "5", "6", "7", "8", "9", "2a", "2s", "3a"];
var suffix = {"s": 1, "a": -1,
"0": 0, "1": 0, "2": 0, "3": 0, "4": 0, "5": 0,
"6": 0, "7": 0, "8": 0, "9": 0};
input.sort(function(a, b) {
var numA = parseInt(a, 10), numB = parseInt(b, 10);
if (numA == numB) {
numB = suffix[b.charAt(b.length - 1)];
numA = suffix[a.charAt(a.length - 1)];
}
return(numB - numA);
});
document.body.innerHTML = JSON.stringify(input);