DEV Community

Cover image for JS Coding Question #2: Reverse a string [Common Question - 3 Solutions]
Let's Code
Let's Code

Posted on • Updated on

JS Coding Question #2: Reverse a string [Common Question - 3 Solutions]

Interview Question #2:

Write a function that reverses a string❓🤔

If you need practice, try to solve this on your own. I have included 3 potential solutions below.

Note: There are many other potential solutions to this problem.

Feel free to bookmark 🔖 even if you don't need this for now. You may need to refresh/review down the road when it is time for you to look for a new role.

Code: https://codepen.io/angelo_jin/pen/LYBPrKo

Solution #1: Array methods

  • very simple solution that will utilize array methods to reverse the string.
function reverseString(str) {
    return str.split("").reverse().join("");
}
Enter fullscreen mode Exit fullscreen mode

Solution #2: Array forEach

  • will cycle through each characters and push it on the temp variable created one by one in reversed order.
function reverseString(str) {
    let reversedString = ''

    str.split('').forEach(char => {
        reversedString = char + reversedString
    })

    return reversedString
}
Enter fullscreen mode Exit fullscreen mode

Solution #3: Array reduce

  • slightly better than second solution above. Will use reduce and add the result to the empty string in reverse.
function reverseString(str) {
    return str.split('')
        .reduce((prev, curr) => curr + prev, '')
}
Enter fullscreen mode Exit fullscreen mode

Happy coding and good luck if you are interviewing!

If you want to support me - Buy Me A Coffee

In case you like a video instead of bunch of code 👍😊

Top comments (4)

Collapse
 
phalvinayak profile image
Vinayak Phal • Edited

You can use stack concept to reverse the string.

function reverseString(str) {
  let reverseStr = "";
  let strStack = str.split('');
  while(strStack.length){
    reverseStr+=strStack.pop();
  }
  return reverseStr;
}
Enter fullscreen mode Exit fullscreen mode

One more simple solution using length and traversing backwards.

function reverseString(str) {
  let reverseStr = "";
  for (let i = str.length - 1; i >= 0; i--) {
    reverseStr += str[i];
  }
  return reverseStr;
}
Enter fullscreen mode Exit fullscreen mode
 
frontendengineer profile image
Let's Code • Edited

definitely a good possibility in my opinion. I got asked to code it on my last job but it is not to extreme like accounting for unicode. It was something quick and straight to the point. I imagine myself to not continue the interview if interview would go to this extreme. LOL

I wrote an article about FIzz Buzz as well, should be in this series and I was shocked to find out he was asked about it on his recent interview.

Maybe junior level can be asked perhaps?

Collapse
 
frontendengineer profile image
Let's Code • Edited

thanks for the complete solution! definitely appreciate your time adding this in and spreading the knowledge.

I would be very surprised if I get asked to take unicode character into account in an interview though.

 
frontendengineer profile image
Let's Code

I totally agree with you. Might be more accurate to say companies HAVE moved away from FizzBuzz interview questions.