Fix sorting order for numeric strings (#186)

This commit is contained in:
Fabio Missagia 2024-05-03 20:02:13 +02:00 committed by GitHub
parent 40c2b78cf5
commit 0b9ecd7d20
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -24,6 +24,17 @@ const sortTree = (unsorted) => {
return -1;
}
//Regular expression that extracts any initial decimal number
const aNum = parseFloat(a.match(/^\d+(\.\d+)?/));
const bNum = parseFloat(b.match(/^\d+(\.\d+)?/));
const a_is_num = !isNaN(aNum);
const b_is_num = !isNaN(bNum);
if (a_is_num && b_is_num && aNum != bNum) {
return aNum - bNum; //Fast comparison between numbers
}
if (a.toLowerCase() > b.toLowerCase()) {
return 1;
}