DEV Community

Imran Shaik
Imran Shaik

Posted on

Reverse a string in JavaScript without using reverse()

Here is the JavaScript program to reverse a string without using the reverse() method

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

}
return reversed;
}
const originalString = "Hello world";
const reveresedString = reverseString(originalString);

console.log("original String", originalString);
console.log("reversed string", reveresedString );
Enter fullscreen mode Exit fullscreen mode

Explanation

  1. The function reverseString takes the input as string
  2. It iterates through the string from the last character to the first
  3. Each Character is appended to the reversed string in reverse order
  4. Finally the reversed string is return.

This Program avoids the use of reverse() and achieves the desired functionality.

Detailed: How it works.

  1. str[i]: Access the character at index i in the string str
  • for Example, if str == "Hello ": ** str[4]** is 'o' ** str[3]** is 'l'
  1. reversed += str[i]: this is shorthand for reversed = reversed + str[i]
    • it takes the current value or reversed, appends str[i] to it, and then updates reversed with this new value.

*Iterative Process: *
Let's break it down for str = "abc"

Initial state:

  • reversed=""(Empty string);
  • Loop start at i=2(last character of the string)

Iteration 1 (i=2);

  • reversed +=str[2] -> reversed = "" + "c" -> reversed ="c" Iteration 2 (i=1);
  • reversed +=str[1] -> reversed = "c" + "b" -> reversed = "cb" Iteration 3 (i=0);
  • reversed +=str[0] -> reversed = "cb" + "a" -> reversed ="cba"

Final Output:

  • reversed = "cba"

Why use += ?

The += operator simplifies the process of building the reversed string incrementally without needing an array or additional logic. It's efficient purpose in JavaScript

SurveyJS custom survey software

Simplify data collection in your JS app with a fully integrated form management platform. Includes support for custom question types, skip logic, integrated CCS editor, PDF export, real-time analytics & more. Integrates with any backend system, giving you full control over your data and no user limits.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs