[Codekata] JavaScript

link717·2020년 10월 6일
0

codekata

목록 보기
2/5
post-thumbnail

😥 Question?

* 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;
}

😏 Idea!

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을 입력한다.

profile
Turtle Never stop

0개의 댓글