JavaScript Program to Sort Words in Alphabetical Order

Sorting words in alphabetical order involves arranging them based on the standard sequence of letters in the alphabet. This process helps in organizing data, making searches efficient, and presenting information in a clear and systematic manner.

Methods to sort words

Table of Content

  • Approach 1: Using the Array sort() method
  • Approach 2: Using the localeCompare() method
  • Approach 3: Implementing a custom sorting algorithm
  • Approach 4: Using the Intl.Collator object

We will explore every approach for sorting words in Alphabetical Order, along with understanding their basic implementations.

Approach 1: Using the Array sort() method

The sort() method sorts all the elements of the array and returns the sorted array. By default, the sort() method sorts the elements in lexicographic (alphabetical) order. We can simply pass the array of words to the sort() method to sort themconst sortedWords = wordsArray.sort(); alphabetically.

Syntax:

arr.sort(compareFunction);

Example: In this example, we will see the use of the sort() Method.

Javascript
const words = [
    "JavaScript",
    "Program",
    "to",
    "Sort",
    "Words",
    "in",
    "Alphabetical",
    "Order",
];

// Sorting the input array using array.sort
const sortedWords = words.sort();

//Getting the sorter array output
console.log(sortedWords);

Output
[
  'Alphabetical',
  'JavaScript',
  'Order',
  'Program',
  'Sort',
  'Words',
  'in',
  'to'
]

Approach 2: Using the localeCompare() method

The localeCompare() the method compares two strings and returns a number indicating their relative order. We can use the localeCompare() the method as a custom sorting function in conjunction with the sort() method.

Syntax:

const sortedWords = wordsArray.sort((a, b) => a.localeCompare(b, undefined, { sensitivity: 'base' }));

Example: In this example, we will see the use of the localeCompare() Method.

Javascript
const words = [
    "JavaScript",
    "Program",
    "to",
    "Sort",
    "Words",
    "in",
    "Alphabetical",
    "Order",
];

// Sorting array using localeCompare
const sortedWords = words.sort((a, b) =>
    a.localeCompare(b, undefined, { sensitivity: "base" })
);

// Show the sorted array output
console.log(sortedWords);

Output
[
  'Alphabetical',
  'in',
  'JavaScript',
  'Order',
  'Program',
  'Sort',
  'to',
  'Words'
]

Approach 3: Implementing a custom sorting algorithm

Implementing a sorting algorithm manually, we can use approaches like bubble sort, insertion sort, or merge sort. These algorithms compare pairs of words and swap them based on their order until the entire list is sorted.

Syntax:

function bubbleSort(wordsArray) {   // ...implementation of bubble sort } 

Example: In this example, we will see the use of a custom bubble sort function.

Javascript
// Implementing bubble sort function
function bubbleSort(wordsArray) {
    
    // Getting size of array
    const length = wordsArray.length;
    for (let i = 0; i < length - 1; i++) {
        for (let j = 0; j < length - i - 1; j++) {
            if (
                wordsArray[j]
                    .localeCompare(wordsArray[j + 1], undefined, {
                    sensitivity: "base",
                }) > 0
            ) {
                // Swaping word in the array
                const temp = wordsArray[j];
                wordsArray[j] = wordsArray[j + 1];
                wordsArray[j + 1] = temp;
            }
        }
    }
    return wordsArray;
}

const words = [
    "JavaScript",
    "Program",
    "to",
    "Sort",
    "Words",
    "in",
    "Alphabetical",
    "Order",
];

const sortedWords = bubbleSort(words);

// Getting the sorted array output
console.log(sortedWords);

Output
[
  'Alphabetical',
  'in',
  'JavaScript',
  'Order',
  'Program',
  'Sort',
  'to',
  'Words'
]

Approach 4: Using the Intl.Collator object

The Intl.Collator object is built specifically for language-sensitive string comparison. It provides options for specifying locale-specific sorting, handling diacritics, and sensitivity to case. By default, it sorts strings in the language-sensitive order.

Syntax:

const collator = new Intl.Collator(undefined, { sensitivity: 'base' });
const sortedWords = wordsArray.sort(collator.compare);

Example: In this example, we’ll demonstrate the usage of the Intl.Collator object to sort words in alphabetical order.

JavaScript
const words = [
    "JavaScript",
    "Program",
    "to",
    "Sort",
    "Words",
    "in",
    "Alphabetical",
    "Order",
];

const collator = new Intl.Collator(undefined, { sensitivity: 'base' });
const sortedWords = words.sort(collator.compare);

console.log(sortedWords);

Output
[
  'Alphabetical',
  'in',
  'JavaScript',
  'Order',
  'Program',
  'Sort',
  'to',
  'Words'
]