console.log(sortByExt(['1.cad', '1.bat', '1.aa', '2.bat']))
["1.aa", "2.bat", "1.bat", "1.cad"]
['1.aa', '1.bat', '2.bat', '1.cad']
function sortByExt(files) {
function getFileInfo(val) {
const arr = val.split('.');
return {
ext: arr.pop(),
name: arr.join('.')
}
}
function compare(s1, s2) {
if (s1 < s2) {
return -1;
}
if (s1 > s2) {
return 1;
}
return 0;
}
return files.sort((a, b) => {
const {ext: aExt, name: aName} = getFileInfo(a);
const {ext: bExt, name: bName} = getFileInfo(b);
return compare(aExt, bExt) || compare(aName, bName);
});
}