Write a recursive function called `shortestToLongest` which takes an array of lowercase strings and returns them sorted from shortest to longest. Strings of equal length should be sorted alphabetically. (Hint: str1 < str2 will return true if str1 comes before str2 alphabetically) Your function should accept a default argument called `sorted` which holds the currently sorted elements. Each recursive step should add the shortest string in the `strings` array to the end of `sorted`. // Examples: // Sorts strings from shortest to longest let strings1 = ["abc", "de", "", "f", "ghijk", "lmno"] shortestToLongest(strings1); // ['', 'f', 'de', 'abc', 'lmno', 'ghijk'] // Accepts a pre-sorted default parameter let strings2 = ["pomegranate", "persimmon", "peach"]; let sorted = ["pea", "pear"]; shortestToLongest(strings2, sorted); // ['pea', 'pear', 'peach', 'persimmon', 'pomegranate'] // Sorts strings of the same length alphabetically let strings3 = ["dog", "cat", "elephant", "ant", "pig", "emu"]; shortestToLongest(strings3); // ['ant', 'cat', 'dog', 'emu', 'pig', 'elephant']
Write a recursive function called `shortestToLongest` which takes an array of lowercase strings and returns them sorted from shortest to longest.
Strings of equal length should be sorted alphabetically. (Hint: str1 < str2 will return true if str1 comes before str2 alphabetically)
Your function should accept a default argument called `sorted` which holds the currently sorted elements.
Each recursive step should add the shortest string in the `strings` array to the end of `sorted`.
// Examples: // Sorts strings from shortest to longest let strings1 = ["abc", "de", "", "f", "ghijk", "lmno"] shortestToLongest(strings1); // ['', 'f', 'de', 'abc', 'lmno', 'ghijk'] // Accepts a pre-sorted default parameter let strings2 = ["pomegranate", "persimmon", "peach"]; let sorted = ["pea", "pear"]; shortestToLongest(strings2, sorted); // ['pea', 'pear', 'peach', 'persimmon', 'pomegranate'] // Sorts strings of the same length alphabetically let strings3 = ["dog", "cat", "elephant", "ant", "pig", "emu"]; shortestToLongest(strings3); // ['ant', 'cat', 'dog', 'emu', 'pig', 'elephant']
![](/static/compass_v2/shared-icons/check-mark.png)
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 1 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
Thank u.
The last string needs to be alphabetical order would u use .sort()?
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)