// solution 1 : for()
function solution(my_string) {
let reverse = '';
for(let i = 1; i <= my_string.length; i++){
reverse += my_string[my_string.length-i]
}
return reverse;
}
for문을 이용한 문자열 뒤집기
전제 조건인 i를 1로 설정한 후, i가 string문자열의 갯수까지 가게 오름차순으로 반복을 돌린다.
그 다음 선언해둔 reverse변수에 값을 더해(+=)주는데,
string에 string.길이 - i번째 값을 넣어 준 후 리턴한다.
// solution 2 : reverse()
function solution(my_string) {
let reverse = '';
return reverse = my_string.split('').reverse().join('');
}
reverse() 메서드를 사용한 문자열 뒤집기
처음에는 문자열 반전 시키려고 reverse만 사용했다가 오류가 떴다.
문자열을 반전시키기 전에 배열로 변환해야 반전 시킬 수 있는데...
string을 ''를 기준으로 나누어 배열로 반환한다.
.reverse() 메서드를 통해 배열을 반전 시킨다.
.join('')으로 ''를 기준으로 합쳐 주며 ''를 제거한다.
// solution 3 : spead
function solution(my_string) {
let reverse = '';
return reverse = [...my_string].reverse().join('');
}
spead 메서드를 사용한 문자열 뒤집기
원본의 배열값을 그대로 두고 리턴값만 변경하고 싶어 연습해 보았다.
사용한 메서드
[...Array]
: 원본의 배열값을 그대로 두고 리턴값을 변경하고 싶을때 spead연산자를 통해 배열을 복사함(원본 배열은 변경 X)
String.split('')
: 문자열을 구분자''로 잘라 배열로 반환
Array.reverse()
: 배열의 순서를 뒤집어 반환(원본 배열이 변형)
Array.join('')
: 배열의 모든 요소를 연결해 하나의 문자열로 만듬, separator를 생락하면 쉼표(, ) 로 구분된다.
(출처 : String.prototype.split())
(출처 : Array.prototype.reverse())
(출처 : Array.prototype.join())
const solution = (my_string) => [...my_string].reverse().join('');
이렇게 화살표 함수를 사용하여 한줄로 코드를 깔끔하게 적을 수도 있다.