How to sort a string with digits and letters (letters before digits) in JavaScript

1 Answer

0 votes
function customSort(input) {
    let chars = input.split('');

    chars.sort((a, b) => {
        if (isNaN(a) && !isNaN(b)) return -1; // Letters before digits
        if (!isNaN(a) && isNaN(b)) return 1;  // Digits after letters
        return a.localeCompare(b);
    });

    return chars.join('');
}

const input = "d2c4b3a1";

const sortedInput = customSort(input);

console.log("Custom sorted string:", sortedInput);

 
 
 
/*
run:
 
Custom sorted string: abcd1234
 
*/

 



answered May 26, 2025 by avibootz
...