JavaScript - 문자열 뒤집기, 거꾸로 출력

자바스크립트에서 문자열의 문자들을 거꾸로 뒤집는 방법을 소개합니다. 또는, 구분자로 구분되어있는 단어들을 역순으로 변경하여 문자열로 만드는 방법을 소개합니다.

1. reverse()를 이용하여 문자열의 문자들을 역순으로 변경

아래 예제는 문자열의 문자들을 거꾸로 뒤집는 예제입니다. 먼저 split('')은 문자열의 문자들을 1개씩 분리하여 배열로 만듭니다. 그리고 reverse()는 배열에 있는 요소들의 순서를 역순으로 변경합니다. 마지막으로 join('')은 배열의 요소들을 하나의 문자열로 합칩니다. 이 과정을 거치면 문자열의 문자들이 역순으로 변경됩니다.

const str = 'Hello, World';

const reversed = str.split('').reverse().join('');
console.log(reversed);

Output:

dlroW ,olleH

위의 과정을 단계별로 출력해보면 조금 더 이해하기 쉬운데, 아래와 같이 출력됩니다.

const str = 'Hello, World';

console.log(str.split(''));
console.log(str.split('').reverse());
console.log(str.split('').reverse().join(''));

Output:

[
  'H', 'e', 'l', 'l',
  'o', ',', ' ', 'W',
  'o', 'r', 'l', 'd'
]
[
  'd', 'l', 'r', 'o',
  'W', ' ', ',', 'o',
  'l', 'l', 'e', 'H'
]
dlroW ,olleH

2. reverse 함수를 직접 구현하여 문자열 뒤집기

자바스크립트에서 기본으로 지원하는 함수를 이용하지 않고, 직접 아래와 같이 함수를 구현할 수 있습니다. reverseString()의 인자로 문자열을 전달하면, 역순으로 변경된 문자열이 리턴됩니다.

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

const reversed = reverseString('Hello, World');
console.log(reversed);

Output:

dlroW ,olleH

3. 구분자로 분리된 단어들을 거꾸로 뒤집기

아래와 같이 구분자 ,로 분리된 단어들을 역순으로 변경할 수 있습니다. 문자들을 역순으로 변경한 것과 같은 방식인데, split()에 구분자 ,를 인자로 전달하는 것이 다릅니다. split()으로 분리된 단어들의 배열을 reverse()로 역순으로 변경하고, join(',')으로 다시 조립하면 뒤집어진 문자열이 리턴됩니다.

const str = 'Hello,World,JavaScript';

const reversed = str.split(',').reverse().join(',');
console.log(reversed);

Output:

JavaScript,World,Hello
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha