GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • JS Tutorial
  • Web Tutorial
  • A to Z Guide
  • Projects
  • OOP
  • DOM
  • Set
  • Map
  • Math
  • Number
  • Boolean
  • Exercise
  • Introduction3 min read
  • Variables5 min read

This view

  • Original page
  • New address

GeezerVison is showing www.geeksforgeeks.org — JavaScript Reverse a string in place - GeeksforGeeks

geeksforgeeks
search icon
  • Courses
  • Tutorials
  • Interview Prep
  • JS Tutorial
  • Web Tutorial
  • A to Z Guide
  • Projects
  • OOP
  • DOM
  • Set
  • Map
  • Math
  • Number
  • Boolean
  • Exercise

JavaScript Reverse a string in place

Last Updated : 11 Jul, 2025

JavaScript reverses a string in place refers to the process of flipping the order of characters within the string without using additional memory. It involves iterating through the string and swapping characters from both ends until reaching the middle.

Reverse a string in place Example

Using the JavaScript split() method

JavaScript String split() Method is used to split the given string into an array of strings by separating it into substrings using a specified separator provided in the argument.

Example: This example reverses the string by first splitting it with ("") separator and then reversing it and finally joining it with ("") separator. 

JavaScript
let str = "This is GeeksForGeeks";
console.log("Input string is : " + str);

function gfg_Run() {
    console.log(
        "Reverse String" + 
        str.split("").reverse().join("")
    );
}

gfg_Run();

Output
Input string is : This is GeeksForGeeks
Reverse StringskeeGroFskeeG si sihT

Using the Array reverse() method

JavaScript Array.reverse() Method is used for the in-place reversal of the array. The first element of the array becomes the last element and vice versa.

Example: This example uses the concept of the merge sort algorithm. 

JavaScript
// Input sting
let str = "This is GeeksForGeeks";
console.log("Input string is : " + str);

// Function to reverse string
function reverse(s) {
    if (s.length < 2) return s;
    let hIndex = Math.ceil(s.length / 2);
    return (
        reverse(s.substr(hIndex)) +
        reverse(s.substr(0, hIndex))
    );
}

// Function to display output
function gfg_Run() {
    console.log(reverse(str));
}

// Function call
gfg_Run();

Output
Input string is : This is GeeksForGeeks
skeeGroFskeeG si sihT

Using the Array join() method

The JavaScript Array join() Method is used to join the elements of an array into a string. The elements of the string will be separated by a specified separator and its default value is a comma(, ).

Example: This example takes a variable and appends the result from the end of the string. 

JavaScript
// Input sting
let str = "A Computer Science Portal";
console.log("Input string is : " + str);

// Function to reverse string
function reverse(s) {
    // Variable to store reverse
    let o = "";
    for (let i = s.length - 1; i >= 0; o += s[i--]) {}
    return o;
}
// Function to display output
function gfg_Run() {
    console.log(reverse(str));
}

// Function call
gfg_Run();

Output
Input string is : A Computer Science Portal
latroP ecneicS retupmoC A

Using substr() method

JavaScript str.substr() method returns the specified number of characters from the specified index from the given string. It basically extracts a part of the original string.

Example: This example uses str.substr() method to reverse a string.

JavaScript
// Input sting
let str = "This is GeeksForGeeks";
console.log("Input string is : " + str);

// Function to reverse string
function reverse(s) {
    if (s.length < 2) return s;
    let hIndex = Math.ceil(s.length / 2);
    return (
        reverse(s.substr(hIndex)) +
        reverse(s.substr(0, hIndex))
    );
}
// Function to display output
function gfg_Run() {
    console.log(reverse(str));
}

// Function call
gfg_Run();

Output
Input string is : This is GeeksForGeeks
skeeGroFskeeG si sihT

Using for loop

To reverse a string in place using a for loop in JavaScript, iterate over half the string length, swapping characters from both ends until reaching the middle. Return the modified string.

Example: In this example the function iterates backward through the string, appending each character to a new string, effectively reversing it. Then, it returns the reversed string.

JavaScript
// reverse string using for loop
function reverseString(str) {
    let reversed = '';
    for (let i = str.length - 1; i >= 0; i--) {
        reversed += str[i];
    }
    return reversed;
}

let str = 'This is GeekForGeeks';
console.log("Original string is: ",str);
console.log("Reversed string is: ",reverseString(str));

Output
Original string is:  This is GeekForGeeks
Reversed string is:  skeeGroFkeeG si sihT

Using the Array reduce() method

JavaScript Array reduce() method executes a reducer function on each element of the array, resulting in a single output value. It can be utilized to reverse a string by iterating over each character and prepending it to an accumulator string.

Example:

JavaScript
// Input sting
let str = "This is GeeksForGeeks";
console.log("Input string is : " + str);

// Function to reverse string
function reverse(s) {
    return s.split("").reduce((acc, char) => char + acc, "");
}

// Function to display output
function gfg_Run() {
    console.log(reverse(str));
}

// Function call
gfg_Run();

Output
Input string is : This is GeeksForGeeks
skeeGroFskeeG si sihT

Using Two-Pointer Technique

The two-pointer technique involves using two pointers, one starting from the beginning of the string and the other from the end. By swapping the characters at these pointers and moving the pointers towards each other until they meet in the middle, we can reverse the string in place.

Example:

This example demonstrates how to reverse a string using the two-pointer technique.

JavaScript
// Function to reverse string in place using two-pointer technique
function reverseStringInPlace(str) {
    // Convert string to array to mutate it
    let charArray = str.split('');
    let left = 0;
    let right = charArray.length - 1;

    // Swap characters until the pointers meet in the middle
    while (left < right) {
        // Swap characters at left and right pointers
        [charArray[left], charArray[right]] = [charArray[right], charArray[left]];
        // Move the pointers towards the middle
        left++;
        right--;
    }

    // Convert array back to string
    return charArray.join('');
}

// Example usage
let str = "This is GeeksForGeeks";
console.log("Original string is: ", str);
console.log("Reversed string is: ", reverseStringInPlace(str));

Output
Original string is:  This is GeeksForGeeks
Reversed string is:  skeeGroFskeeG si sihT


Comment

Explore

    JavaScript Basics
    • Introduction3 min read
    • Variables5 min read
    • Operators4 min read
    • Control Statements4 min read
    Array & String
    • Arrays6 min read
    • Array Methods4 min read
    • String5 min read
    • String Methods8 min read
    Function & Object
    • Functions4 min read
    • Function Expression3 min read
    • Function Overloading4 min read
    • Objects4 min read
    • Constructors4 min read
    OOP
    • OOP5 min read
    • Classes & Objects4 min read
    • Access Modifiers5 min read
    • Constructor4 min read
    Asynchronous JavaScript
    • Asynchronous2 min read
    • Callbacks4 min read
    • Promises4 min read
    • Event Loop3 min read
    • Async Await Fuction3 min read
    Exception Handling
    • Error and Exceptional Handling5 min read
    • Errors Throw & Try to Catch2 min read
    • Custom Errors2 min read
    • TypeError Invalid Array.prototype.sort argument1 min read
    DOM
    • DOM8 min read
    • DOM Elements3 min read
    • Custom Events4 min read
    • Addeventlistener5 min read
    Advanced Topics
    • Closure3 min read
    • Hoisting5 min read
    • Scope4 min read
    • Higher Order Functions7 min read
    • Debugging3 min read
    Courses
    • Placement 360 Course2 min read
    • MERN Full Stack Course2 min read
    • DSA and System Design Course2 min read
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.