[TIL]Number(),parseInt(),Math.sign

choiuhana·2021년 8월 6일
0

TIL

목록 보기
28/37

오늘은 코드카타 시간에 의연님이랑 같이 풀었던 문제로 더 나은 대안이 없어보여서 해당하는 함수를 좀더 살펴보았다.

  • Number와 parseInt의 차이
    쓰면서도 궁금햇던 둘의 차이는 내가 이해할 수 있을 정도로 쉽게 생각하면 parseInt는 정수 범위의 문자열을 숫자로 반환하며 숫자 뒤에 문자열이 섞여있어도 반환이 가능하다.(문자로 시작하면 불가능)
    소수의 경우는 parseFloat()을 사용
    Number는 좀더 광범위 하게 사용이 가능한 부분이 많은 듯 한데 갖고 있는 기능 중 하나가 문자로 된 숫자를 숫자로 바꿔주는 기능을 하며 문자열이 섞여있으면 불가능 하다.
    결론은 단순 문자로 된 숫자를 숫자로 바꿀 경우 parseInt를 사용하자.
  • Math.sign은 해당하는 숫자가 갖고있는 음수, 양수를 반환하며 5가지를 리턴 할 수 있는데, -1,1,0,-0,NaN이다.

문제

reverse 함수에 정수인 숫자를 인자로 받습니다. 그 숫자를 뒤집어서 return해주세요.

x: 숫자 return: 뒤집어진 숫자를 반환!

예들 들어, x: 1234 return: 4321

x: -1234 return: -4321

x: 1230 return: 321

const reverse = x => {

  let a = x.toString();
  let b = a.split("").reverse().join("");

  return parseInt(b) * Math.sign(x);
}
profile
만드는 사람도 사용하는 사람도 편하고 만족하는 '것'을 추구하는 프론트엔드 개발자

0개의 댓글