JSFiddle - React, Tailwind, and code Playground
JavaScript
var arr = ["PZ13 Bar", "IL0 Foo", "IL10 Baz", "IL3 Bob says hello", "PI0 Bar"];
arr.sort(function (a1, b1) {
var a = parseInt(a1.match(/\d+/g)[0], 10),
b = parseInt(b1.match(/\d+/g)[0], 10),
letterA = a1.charCodeAt(0),
letterB = b1.charCodeAt(0);
if (letterA > letterB) {
return 1;
} else if (letterB > letterA) {
return -1;
} else {
if (a < b) return -1;
if (a > b) return 1;
return 0;
}
});
document.write(JSON.stringify(arr))