DEV Community

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

Posted on • Edited on

4 2

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 👍😊

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

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.

SurveyJS custom survey software

JavaScript Form Builder UI Component

Generate dynamic JSON-driven forms directly in your JavaScript app (Angular, React, Vue.js, jQuery) with a fully customizable drag-and-drop form builder. Easily integrate with any backend system and retain full ownership over your data, with no user or form submission limits.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay