이 글의 목표는 숫자를 입력받아 뒤집힌 숫자를 반환하는 JavaScript 함수를 작성하는 것입니다.
예를 들어, 678을 뒤집으면 다음과 같은 결과가 나와야 합니다.
876
JavaScript에서 숫자를 뒤집는 코드는 아래와 같습니다.
예제 코드
const num = 124323;
const reverse = (num) => parseInt(String(num)
.split("")
.reverse()
.join(""), 10);
console.log(reverse(num));실행 결과
콘솔에 출력되는 결과는 다음과 같습니다.
323421
코드 동작 원리 설명
위 함수가 어떻게 동작하는지 단계별로 살펴보겠습니다.
- 먼저 num = 123이라고 가정합니다.
- String() 메서드로 숫자를 문자열로 변환합니다 → '123'
- split('')으로 문자열을 한 글자씩 분리합니다 → ['1', '2', '3']
- reverse()로 배열의 순서를 뒤집습니다 → ['3', '2', '1']
- join('')으로 배열을 다시 하나의 문자열로 합칩니다 → '321'
- 마지막으로 parseInt()를 사용해 문자열을 정수(Int)로 변환하여 반환합니다 → 321
추가 팁: 음수 처리하기
위 방법은 양수에는 잘 동작하지만, 음수를 다룰 때는 주의가 필요합니다. 예를 들어 -123을 그대로 뒤집으면 parseInt가 NaN을 반환할 수 있습니다. 이 경우 Math.sign()을 활용하면 부호를 유지한 채 뒤집을 수 있습니다.
const reverseWithSign = (num) => {
const sign = Math.sign(num);
return sign * parseInt(String(Math.abs(num))
.split("")
.reverse()
.join(""), 10);
};
console.log(reverseWithSign(-123)); // -321이처럼 String(), split(), reverse(), join(), parseInt() 메서드만 조합하면 별도의 반복문 없이도 간결하고 가독성 좋은 숫자 뒤집기 함수를 구현할 수 있습니다.