How to Reverse a String in JavaScript: Two Essential Methods

Chief Editor
3 Min Read

Reversing a string is one of the most common beginner-level tasks in programming. It’s a great exercise to understand how strings, arrays, and loops work in JavaScript. In this blog, we’ll explore two different ways to reverse a string:

  • ✅ Using JavaScript’s built-in methods
  • 🔁 Using a manual for loop

Let’s dive into both approaches with explanations and examples.


✅ Method 1: Using Built-in Methods (split, reverse, join)

This is the easiest and most popular way to reverse a string in JavaScript. It uses a combination of three built-in functions:

Step-by-Step Breakdown:

  1. split('') – Converts the string into an array of characters.
  2. reverse() – Reverses the array in-place.
  3. join('') – Combines the reversed array back into a string.

Example:

function reverseString(str) {
return str.split('').reverse().join('');
}

console.log(reverseString("hello")); // Output: "olleh"

🔍 Explanation:

  • "hello".split('') → ['h', 'e', 'l', 'l', 'o']
  • ['h', 'e', 'l', 'l', 'o'].reverse() → ['o', 'l', 'l', 'e', 'h']
  • ['o', 'l', 'l', 'e', 'h'].join('') → "olleh"

✅ Pros:

  • Very concise and readable
  • Fast and efficient for small to medium strings

⚠️ Cons:

  • Uses extra memory to create an array

🔁 Method 2: Reversing a String Using a for Loop

This method is useful when you want to practice loops and logic or avoid built-in methods.

Example:

function reverseStringManually(str) {
let reversed = '';
for (let i = str.length - 1; i >= 0; i--) {
reversed += str[i];
}
return reversed;
}

console.log(reverseStringManually("hello")); // Output: "olleh"

🔍 Explanation:

  • We start from the end of the string (str.length - 1) and loop backwards.
  • In each iteration, we add the current character to a new string.

✅ Pros:

  • Helps understand how loops and string manipulation work
  • Doesn’t rely on any built-in array methods

⚠️ Cons:

  • Slightly longer code
  • Less readable than the built-in method

🧪 Bonus: Reversing Using Recursion

Just for fun, here’s how you could reverse a string recursively:

function reverseStringRecursively(str) {
if (str === "") return "";
return reverseStringRecursively(str.slice(1)) + str[0];
}

console.log(reverseStringRecursively("hello")); // Output: "olleh"

🧵 Final Thoughts

MethodUses Built-insReadabilityPerformance
split-reverse-join✅ Yes✅ High✅ Good
Manual loop❌ No⚠️ Medium✅ Good
Recursion❌ No⚠️ Low❌ Poor (for long strings)

Each method has its place depending on the situation. For quick work, go with built-in methods. For learning, try loops or recursion!

Share This Article
Leave a Comment