js sort strings lowercase and uppercase

How to Sort Strings in JavaScript (Lowercase and Uppercase)

Sorting strings in JavaScript can be done in various ways. Here are some of the most popular methods:

Method 1: Using the localeCompare() method

The localeCompare() method is a built-in method in JavaScript that can be used to compare two strings and return the difference between them.

To sort an array of strings in JavaScript, you can simply use the sort() method and pass in a compare function that uses the localeCompare() method to compare the strings:

const arr = ['apple', 'Banana', 'orange', 'lemon'];

arr.sort((a, b) => a.localeCompare(b));

console.log(arr); // ['apple', 'Banana', 'lemon', 'orange']

In this example, the sort() method sorts the array arr in alphabetical order using the localeCompare() method. Note that the uppercase letters come before the lowercase letters in this case.

Method 2: Converting all strings to lowercase

If you want to sort an array of strings in a case-insensitive manner, you can convert all the strings to lowercase before sorting them. This can be done using the toLowerCase() method:

const arr = ['apple', 'Banana', 'orange', 'lemon'];

arr.sort((a, b) => a.toLowerCase().localeCompare(b.toLowerCase()));

console.log(arr); // ['apple', 'Banana', 'lemon', 'orange']

In this example, the sort() method converts all the strings in the array arr to lowercase using the toLowerCase() method before sorting them using the localeCompare() method.

Method 3: Converting only uppercase strings to lowercase

If you want to sort an array of strings in a case-insensitive manner but preserve the original case of the strings, you can convert only the uppercase strings to lowercase before sorting them. This can be done using a regular expression and the replace() method:

const arr = ['apple', 'Banana', 'orange', 'lemon'];

arr.sort((a, b) => {
  const regex = /^[A-Z]/;
  const lowerA = a.replace(regex, match => match.toLowerCase());
  const lowerB = b.replace(regex, match => match.toLowerCase());
  return lowerA.localeCompare(lowerB);
});

console.log(arr); // ['apple', 'Banana', 'lemon', 'orange']

In this example, the sort() method uses a regular expression (/^[A-Z]/) to match only the uppercase letters at the beginning of each string. The replace() method is then used to replace these uppercase letters with their lowercase equivalents using an arrow function. Finally, the sorted array is returned using the localeCompare() method.

These are just some of the ways you can sort strings in JavaScript. Choose the method that works best for your particular use case.

Subscribe to The Poor Coder | Algorithm Solutions

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
[email protected]
Subscribe