In javascript, we use the .localCompare method to sort strings
For Typescript
const data = ["jane", "mike", "salome", "ababus", "buisa", "dennis"];
const sort = (arr: string[], mode?: 'desc' | 'asc') =>
!mode || mode === "asc"
? arr.sort((a, b) => a.localeCompare(b))
: arr.sort((a, b) => b.localeCompare(a));
console.log(sort(data, 'desc'));// [ 'salome', 'mike', 'jane', 'dennis', 'buisa', 'ababus' ]
console.log(sort(data, 'asc')); // [ 'ababus', 'buisa', 'dennis', 'jane', 'mike', 'salome' ]
For JS
const data = ["jane", "mike", "salome", "ababus", "buisa", "dennis"];
/**
* @param {string[]} arr
* @param {"asc"|"desc"} mode
*/
const sort = (arr, mode = "asc") =>
!mode || mode === "asc"
? arr.sort((a, b) => a.localeCompare(b))
: arr.sort((a, b) => b.localeCompare(a));
console.log(sort(data, 'desc'));// [ 'salome', 'mike', 'jane', 'dennis', 'buisa', 'ababus' ]
console.log(sort(data, 'asc')); // [ 'ababus', 'buisa', 'dennis', 'jane', 'mike', 'salome' ]