Reverse a String in JavaScript
split, reverse, join. Same emoji trap as length.
BeginnerString ProgramsExample 2 of 5
reverse-a-string.js
1// Method 1: Using split, reverse, join2let str = "Hello";3let reversed = str.split('').reverse().join('');4console.log("Original:", str);5console.log("Reversed:", reversed);67// Method 2: Using for loop8function reverseString(str) {9 let reversed = '';10 for (let i = str.length - 1; i >= 0; i--) {11 reversed += str[i];12 }13 return reversed;14}1516console.log("\nUsing loop:", reverseString("World"));1718// Method 3: Using for...of loop19function reverseStringForOf(str) {20 let reversed = '';21 for (let char of str) {22 reversed = char + reversed;23 }24 return reversed;25}2627console.log("Using for...of:", reverseStringForOf("JavaScript"));2829// Method 4: Using reduce30function reverseStringReduce(str) {31 return str.split('').reduce((acc, char) => char + acc, '');32}3334console.log("Using reduce:", reverseStringReduce("Programming"));3536// Method 5: Using recursion37function reverseStringRecursive(str) {38 if (str.length <= 1) return str;39 return reverseStringRecursive(str.slice(1)) + str[0];40}4142console.log("\nUsing recursion:", reverseStringRecursive("Hello"));4344// Method 6: Using spread operator45let reversed2 = [...str].reverse().join('');46console.log("Using spread:", reversed2);
Output
Original: Hello Reversed: olleH Using loop: dlroW Using for...of: tpircSavaJ Using reduce: gnimmargorP Using recursion: olleH Using spread: olleH
What's going on
str.split('').reverse().join(''). Spreading [...str] handles most emoji better.
Strings are immutable. You always get a new one.