xStr이라는 변수를 만든다. (x의 length를 구해야하므로 string으로 형변환 해준다.)
arr라는 빈 배열을 만든다(배열의 메서드를 활용하기 위함)
결괏값을 담을 result 변수를 만든다.
for문을 활용해서 거꾸로 출력하되, 조건은 다음과 같다.
i는 xStr.length-1(= xStr의 마지막 수)
i >= 0 (xStr[0]까지 나와야하기 때문에 i가 0보다 크거나 같다라고 사용했다.)
i--로 계속 감소시켜준다.
거꾸로 돌 때마다 빈 배열인 arr에 담아준다.
for문을 돌 때 x가 "-"를 가지고 있다면 뒤로 가기때문에
앞으로 올 수 있도록 unshift("-")를 하고, arr.pop();로 뒤의 "-"를 빼준다. 그리고 result에 join인 메서드를 활용하여 값을 담아준다.
"-"가 없다면 join으로 string으로 만들어준다.
최종적으로 정수가 나와야하므로 Number로 result를 바꾸어준다.
const reverse = x => {
//정수를 배열로 바꾸기 위해 우선 string으로 넘겨준다.
const xStr = String(x);
let arr = [];
let result = '';
for(let i = xStr.length-1; i >= 0; i--){
//거꾸로 돌린 값 하나하나를 담는다.
arr.push(xStr[i]);
if(xStr[i] === "-"){
arr.unshift("-");
arr.pop();
result = arr.join('');
} else {
result = arr.join('');
}
}
//최종적으로 정수가 찍혀야하기때문에 number로 바꿔준다.
return Number(result);
}
console.log(reverse(-1234));
😓 형변환.... 진짜 쫌 많이 괴랄한거같다..