JavaScript: Reverse words in a given string
JavaScript String: Exercise-60 with Solution
Write a JavaScript function to reverse words in a given string.
Test Data:
("abc") -> "cba"
("JavaScript Exercises") -> "tpircSavaJ sesicrexE"
(1234) -> "It must be a string."
Sample Solution:
JavaScript Code:
// Define a function named 'test' with a single parameter 'text'
function test(text) {
// Check if the input string is empty
if (text.length === 0)
{
// Return a message if the input string is empty
return 'String should not be empty!'
}
// Check if the input parameter 'text' is not a string
if (typeof text !== 'string')
{
// Return a message if the input is not a string
return 'It must be a string.'
}
// Create an empty array to store words
var words = [];
// Split the input text into an array of words using whitespace as the delimiter
words = text.match(/\S+/g);
// Create an empty string to store the reversed words
var reverse_word = "";
// Iterate through each word in the 'words' array
for (var i = 0; i < words.length; i++) {
// Reverse each word, join the characters, and add it to the 'reverse_word' string
reverse_word += words[i].split('').reverse().join('') + " ";
}
// Return the string with reversed words
return reverse_word
}
// Test the 'test' function with different input strings and output the result
console.log(test("abc")) // 'cba'
console.log(test("JavaScript Exercises")) // 'tpircsexE scirpSavaJ'
console.log(test(1234)) // It must be a string.
Output:
cba tpircSavaJ sesicrexE It must be a string.
Explanation:
In the exercise above,
- The function "test()" is defined, taking a single parameter named 'text'.
- It first checks if the input string is empty. If it is, the function returns a message indicating that the string should not be empty.
- Next, it checks if the input parameter 'text' is not a string using the 'typeof' operator. If it's not a string, the function returns a message indicating it must be a string.
- If the input is a non-empty string, the function splits the text into an array of words using a regular expression that matches non-whitespace characters.
- It then iterates through each word in the array of words.
- For each word, it splits it into an array of characters. It reverses the array, joins the characters back into a string, and adds it to the 'reverse_word' string with a space.
- After reversing each word, the function returns the string with reversed words.
Flowchart:
Live Demo:
See the Pen javascript-string-exercise-60 by w3resource (@w3resource) on CodePen.
Improve this sample solution and post your code through Disqus
Previous: Find the most frequent word in a string.
Next: Longest common subsequence.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://www.w3resource.com/javascript-exercises/javascript-string-exercise-60.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics