w3resource

JavaScript: Sort the strings of a given array of strings in the order of increasing lengths

JavaScript Basic: Exercise-143 with Solution

Write a JavaScript program to sort the strings of a given array of strings in order of increasing length.

Note: Do not change the order if the lengths of two string are same.

Visual Presentation:

JavaScript: Sort the strings of a given array of strings in the order of increasing lengths.

Sample Solution:

JavaScript Code:

/**
 * Function to sort an array of strings based on string length
 * @param {array} arra - The array of strings to be sorted
 * @returns {array} - The sorted array of strings
 */
function sort_by_string_length(arra) {
    // Loop through each element in the array
    for (var i = 0; i < arra.length; i++) {
        // Compare the current element with the subsequent elements
        for (var j = i + 1; j < arra.length; j++) {
            // If the length of the current element is greater than the subsequent element
            if (arra[i].length > arra[j].length) {
                var m = arra[i]; // Store the current element in a temporary variable
                arra[i] = arra[j]; // Swap the current element with the subsequent element
                arra[j] = m; // Place the temporary variable (previous value of current element) in the subsequent element
            }
        }
    }
    return arra; // Return the sorted array
}

var arra = ["xyz", "acd", "aa", "bb", "zzz", "", "a", "b"]; // Input array
console.log("Original array: " + arra + "\n"); // Display original array
console.log(sort_by_string_length(["xyz", "acd", "aa", "bb", "zzz", "", "a", "b"])); // Sort and display the array 

Output:

Original array: xyz,acd,aa,bb,zzz,,a,b

["","a","b","bb","aa","xyz","acd","zzz"]

Live Demo:

See the Pen javascript-basic-exercise-143 by w3resource (@w3resource) on CodePen.


Flowchart:

Flowchart: JavaScript - Sort the strings of a given array of strings in the order of increasing lengths

ES6 Version:

/**
 * Function to sort an array of strings based on string length
 * @param {array} arra - The array of strings to be sorted
 * @returns {array} - The sorted array of strings
 */
const sort_by_string_length = (arra) => {
    // Loop through each element in the array
    for (let i = 0; i < arra.length; i++) {
        // Compare the current element with the subsequent elements
        for (let j = i + 1; j < arra.length; j++) {
            // If the length of the current element is greater than the subsequent element
            if (arra[i].length > arra[j].length) {
                // Swap the current element with the subsequent element using destructuring assignment
                [arra[i], arra[j]] = [arra[j], arra[i]];
            }
        }
    }
    return arra; // Return the sorted array
};

// Input array
const arra = ["xyz", "acd", "aa", "bb", "zzz", "", "a", "b"];

// Display original array
console.log("Original array: ", arra, "\n");

// Sort and display the array
console.log(sort_by_string_length(["xyz", "acd", "aa", "bb", "zzz", "", "a", "b"]));

Improve this sample solution and post your code through Disqus.

Previous: JavaScript program to simplify a given absolute path for a file in Unix-style.
Next: JavaScript program to break an address of an url and put it's part into an array.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.