Post/Code

HomeAboutUsesNow

5 Ways to Reverse a String.

Using .reverse()

function reverse(str) {
  // const arr = str.split("");
  const arr = Array.from(str);
  return arr.reverse().join("");
}

Using .reduce()

function reverse(str) {
  return str.split("").reduce((result, letter) => {
    return letter + result;
  }, "");
}

Using for... of

function reverse(str) {
  let revStr = "";

  for (let letter of str) {
    revStr = letter + revStr;
  }

  return revStr;
}

Using a for() loop

function reverse(str) {
  const arr = str.split("");
  const rev = [];

  for (var i = arr.length - 1; i >= 0; i--) {
    rev.push(arr[i]);
  }

  return rev.join("");
}

Using a while() loop

function reverse(str) {
  let count = str.length - 1;
  let revStr = "";
  while (count >= 0) {
    revStr += str.charAt(count);
    count -= 1;
  }
  return revStr;
}

Tests.

test('Reverse function exists', () => {
  expect(reverse).toBeDefined();
});

test('Reverse reverses a string', () => {
  expect(reverse('abcd')).toEqual('dcba');
});

test('Reverse reverses a string', () => {
  expect(reverse(' abcd')).toEqual('dcba ');
});