const reverse = x => {
let reversedArr = [];
if(x>=0){
x = x.toString().split('');
for(let i = x.length -1; i >= 0; i--){
reversedArr.push(x[i]);
}
let result = Number(reversedArr.join(''));
return result;}else{
x= x * -1
x = x.toString().split('');
for(let i = x.length -1; i >= 0; i--){
reversedArr.push(x[i]);
}
let result = Number(reversedArr.join('')) * -1;
return result;
}
}
처음에는 양의 정수만 생각하고 코드를 만들었더니 음의 정수를 입력했을 때 NaN이 출력됐다.
그래서 인자가 양의 정수와 음의 정수일 때를 나눠 생각하고 음의 정수일 때는 -를 없애고 거꾸로 처리한 후에 다시 -를
곱해서 음의정수로 반환되게 하였다.
근데 코드가 너무 길어서 관련 메서드를 검색해봤고
let result = 0;
if(x>=0){
result = Number(x.toString().split('').reverse().join(''));
}else{
x= x * -1
result = Number(x.toString().split('').reverse().join('')) * -1;
}
return result;
이렇게 줄여졌다.
--- 메서드를 잘 사용하는 코드타카 메이트님의 코드 ---
const reverse = num => {
if (num >= 0) {
return Number(num.toString().split(“”).reverse().join(“”))
} else {
return Number((num * -1).toString().split(“”).reverse().join(“”)) * -1
}
}
반성 : 좀 더 메서드를 찾아보는 습관을 길러야겠다. 습관적으로 빈배열이나 빈문자열 등을 만들어서 for문을 돌리려고
하는데 메서드들의 동작 원리는 거의 for문이나 if문으로 어떻게 돌아가는지 어느정도 이해를 한 상태이니 이젠 좀더 클린 코드를
잘 짤 수 있는 인간이 돼야겠다.