What is the best way to organize an array based on the length of its elements?

Having trouble sorting an array of strings based on the length of each string? Take a look at this example:

 var list = ["rrr", "re", "r", "rrar"]

The sorted output should be:

var list = ["r", "re", "rrr", "rrar"];

Below is the code I've been working with:

        var list = ["rrr", "re", "r", "rrar"];
    n = 4;
    x = -1;
    document.write(" list before: " + list);

    for (k = 0; k < n; k++) {
        list[x] = list;

        for (i = 0; i < n-k; i++) {

            if (list[i + 1].length < list[i].length) {
                aux = list[i];
                list[i] = list[i + 1];
                list[i + 1] = aux;
            }
        }
    }
    document.write(" list after: " + list);

I'm encountering a "TypeError: list[(i + 1)] is undefined" in Chrome's Console. I have been trying to debug it, but I can't seem to pinpoint where the issue lies. Any suggestions?

Answer №1

Why start from scratch when you can simply utilize Array.prototype.sort.

list.sort((a, b) => a.length - b.length);

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Using a Do/While loop in combination with the setTimeout function to create an infinite loop

Having trouble with this script. The opacity transition works fine, but there seems to be an issue with the loop causing it to run indefinitely. My goal is to change the z-index once the opacity reaches 0. HTML <div class="ribbon_services_body" id="ri ...

How can MATLAB display a series of strings on the screen?

Struggling with the code below that I believed would function as expected: OriginalSamples = {'FirstExample','SecondExample','ThirdExample','FourthExample'}; numOriginalSamples = length(OriginalSamples); for i=1:nu ...

The selected value is not displayed in the Material UI select component

My select component is showing the menu items and allowing me to select them, but it's not displaying the selected value. However, its handle function is functioning correctly because when I choose an item, the value in the database gets updated. Bel ...

Error: 'require' is not recognized in index.html file for electron-forge application using the react template

After initiating an electron-forge app using the react template, I encountered an issue where the app only displayed a white screen. The developer console showed the error "Uncaught ReferenceError: require is not defined" at index.html:inline_0.js:2 electr ...

Easy Steps for Mapping Json Data into an Array

Here is the JSON Format I am working with: { "Data": { "-template": "Parallax", "Explore": { "IslandLife": { "TourismLocation": [ { "Title": "Langkawi", "Latitude": "6.350000", "Longitude": "99.800000", "YouTub ...

Filtering text boxes based on radio button selection

I have a RadioButtonList and a TextBox. Depending on the selection made in the RadioButtonList, I need to filter the content of the textbox. <asp:RadioButtonList ID="RadioButtonList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="RadioB ...

Every time I attempt to run "npm install" on Visual Studio Code, I encounter an error

Every time I try to run npm install, I encounter this error. My node version is 18.9.1 and I have exhausted all possible solutions. Any help would be greatly appreciated. '''npm ERR! code ENOENT npm ERR! syscall open npm ERR! path C:\Us ...

Problem with Azure Table JavaScript Solution

When attempting to utilize JavaScript to access Azure Storage Tables, I encountered an error that reads: "Error getting status from the table: TypeError: tableServiceClient.getTableClient is not a function." Despite finding multiple successful examples onl ...

What is the best way to convert API data into a currency format?

Hello, I need assistance with formatting data retrieved from an API into a currency format. The code below successfully retrieves the data but lacks formatting. For instance, if the data displays as 100000000, I would like it to be formatted as IDR100.000. ...

Transforming the output from a processor into an array structure

Being a newcomer in the field of development, I have a question about how to retrieve data based on my requirements and what is considered the best practice? This is the structure of my design: JavaScript (Ajax call) >> ashx handler (Access databa ...

How can you determine if a string includes all the words listed in a multidimensional array?

I'm brand new to the world of coding but I have a specific goal in mind. Here's an example of the multidimensional array I'm working with: var requiredProducts = [{ product: 'PRODUCT 1', keywords: ['KEYWORD1', & ...

No longer able to bind events after making changes to SVG elements [using JSFiddle]

I've coded a personalized directive to display tags like `<rect>` and `<circle>` within `<svg>` elements. My shapes model is simply an array of objects with different attributes such as `width`, `height`, and `stroke-width. These s ...

Understanding and Decoding Javascript Error Messages

I'm facing an issue while trying to set up a basic Vue JS application on my local machine, utilizing the materialize-css navbar (). Upon running the app in the terminal, the following error message is displayed. Unable to locate the specified module: ...

Exploring the intricacies of JSON object retrieval

I'm currently working on a form that allows users to submit address details for a selected location. However, before submitting the form, I want to give the user the ability to preview the address that will be sent. The addresses are stored within a J ...

Determine if two arrays have the same object values

I have a situation where I am working with two arrays of objects. arr1 = [{ name: "John" }, { name: "Frank" }]; arr2 = [ { name: "John", age: 35 }, { name: "Frank", age: 22 }, { name: "Kate", age: 23 ...

Implementing closure within a recursive function allows for better control

One of my functions is designed to take a parameter and print the last number in the Fibonacci Series. For example, if the parameter is 3, it would return 2 as the series progresses like 1, 1, 2. function recursionFib(num){ if(num ...

The value of YOUR_VARIABLE in the Node.js process environment appears to be undefined

Having trouble hiding a discord token for my bot, even though I believe dotenv is set up correctly. However, all I keep getting back is undefined. I've gone as far as using nodemon to refresh the server when making changes, but the issue persists. Co ...

Issue with Firefox pageMod addon: window.location not functioning properly

I'm developing a unique Firefox Add-on that implements page redirects based on keyboard input. The keyboard detection is functioning properly, however, the redirect functionality seems to be failing. The complete code can be found on GitHub (even thou ...

Check if the div has been clicked, even if its child elements have also

Is it possible to check if both a div and its child are clicked using jQuery? $('div').click(function(e){ if(e.target.id == 'test') alert(e.target.id); }); I have a specific div with an id of #test in my HTML code, and wh ...

Utilize the map function to modify elements within a nested data structure

I'm attempting to modify objects within nested map functions. I have an array of objects with nested data. When I try to execute it this way, the structure of the data changes and I end up with an array of arrays. All I really need is to add a "level ...