* reverse 함수에 정수인 숫자를 인자로 받습니다. 숫자를 뒤집어서 return해주세요.
예시)
x: 1234
return: 4321
x: -1234
retrun: -4321
x: 1230
return: 321
작성한 코드)
const reverse = x => {
let revX = Math.abs(x).toString().split('').reverse();
let answer;
x > 0 ? answer = Number(revX.join('')) : answer = Number(-revX.join(''));
return answer;
}
① Math.abs(숫자)
: 주어진 숫자의 절대값을 반환하며 숫자가 아닌 문자열, 빈 매개변수 등을 받으면 NaN을 반환한다. 빈 문자열이나 빈 배열을 제공하면 0을 반환한다.
Math.abs({}); // NaN
Math.abs('string'); // NaN
Math.abs(''); // 0
②Number.prototype.toString
: Number 객체를 나타내는 문자열을 반환한다.
③String.prototype.split(separator, limit)
: String 객체를 지정한 구분자를 이용하여 여러개의 문자열로 나누어 배열로 반환한다. separator, limit은 optional하게 입력 가능한 요소로 sperator에 빈 문자열을 넣을 경우, string의 각각의 문자가 배열의 원소 하나씩으로 반환된다.
seperator에 빈 문자열을 넣을 경우, 사용자가 인식하는 문자 하나(grapheme cluster) 또는 유니코드 문자(코드포인트) 하나씩으로 나누는 것이 아니라, UTF-16 코드유닛으로 나누게 되며 써로게이트 페어surrogate pair가 망가질 수 있다.(출처-MDN)
const str = 'The quick brown fox.';
console.log(str.split(' '));
console.log(str.split(' ',2));
› ["The", "quick", "brown", "fox."]
› ["The", "quick"]
const word = 'Apple';
console.log(word.split(''));
› ["A", "p", "p", "l", "e"]
④Array.prototype.reverse()
: 배열의 순서를 반전하는 method이다.
const array1 = ['one', 'two', 'three'];
console.log(array1.reverse());
› ["three", "two", "one"]
⑤Number(value)
: value를 Number type으로 변환할 때 사용하며, 만약 변환할 수 없는 value가 입력되면 NaN을 입력한다.