let a = '-123';
console.log(Number(a)) => NaN
console.log(parseInt(a)) => -123
const reverse = x => {
let result = x.toString().split('').reverse().join('');
// 3189-
return console.log(parseInt(result) * Math.sign(x));
}
reverse(-9813);
숫자형인 인자를 문자열로 변환시켜주고,
split 메서드를 사용하여 공백으로 나눠 배열 생성해준 뒤,
그 배열을 reverse, 그리고 배열 내 요소들을 join으로 합쳐준다.
-> 3189- 가 나온다.
음수를 인자로 넘겨줬기 때문에, 반환값도 음수여야 한다. ( = 숫자만 뒤집고 (-)하이픈은 살려야함) 👇🏻
3189- 를 parseInt 하면, 마지막 (-)하이픈은 숫자로 치지 않기 때문에
3189를 출력해줄 것이다.
( + Math.sign(x) 은 x가 양수인지 음수인지 구별해주는 Math 메서드다.
양수면 1을 리턴, 음수면 -1을 리턴한다 )
parseInt(result) * Math.sign(x)
=> 3189 * -1 = -3189