[TIL] 숫자 변화 매서드에 대해 알아보자!

choiuhana·2021년 6월 22일
0

TIL

목록 보기
12/37

💡오늘은 오전에 블로깅! 둘이서 짝을 지어 알고리즘을 풀어보는 '코드카타' 시간에 새롭게 알게된걸 정리해 보려 한다.

문자와 숫자에 사용할 수 있는 여러 매서드들이 있는데 오늘 알아볼 매서드는 아래와 같다.

  • toString
  • split
  • join
  • reverse
  • parseInt
  • Math.sign

하나씩 살펴보면! tostringjoin은 함께 살펴보자

var count = 10;

console.log(count.toString());    // displays '10'
console.log((17).toString());     // displays '17'
console.log((17.2).toString());   // displays '17.2'

두번째! .spit은 문자열을 나누는데 쓰이며 먼저 문자열을 선언하고 선언한 변수 값에 매서드를 사용하면 된다.

function splitString(stringToSplit, separator) {
  var arrayOfStrings = stringToSplit.split(separator);

  console.log('주어진 문장: "' + stringToSplit + '"');
  console.log('나누는 기준: "' + separator + '"');
  console.log('결과값인 배열은 ' + arrayOfStrings.length + ' 개의 값을 가지고 있다: ' + arrayOfStrings.join(' / '));
}

var tempestString = '동해물과 백두산이 마르고 닳토록 하느님이 보우하사';
var monthString = '남산위에 저소나무, 철갑을 두른듯';

var space = ' ';
var comma = ',';

splitString(tempestString, space); 기준이 스페이스 일때
'결과값인 배열은 6 개의 값을 가지고 있다: 동해물과 / 백두산이 / 마르고 / 닳토록 / 하느님이 / 보우하사'

splitString(tempestString); 기준이 없을 때
'결과값인 배열은 1 개의 값을 가지고 있다: 동해물과 백두산이 마르고 닳토록 하느님이 보우하사'

splitString(monthString, comma); 기준이 콤마 일때
'결과값인 배열은 2 개의 값을 가지고 있다: 남산위에 저소나무 /  철갑을 두른듯'

splitString(monthString, ""); 기준을 공백없이 주었을 때는 한글자씩 반환된다. ❗️공백 포함
'결과값인 배열은 18 개의 값을 가지고 있다: 남 / 산 / 위 / 에 /   / 저 / 소 / 나 / 무 / , /   / 철 / 갑 / 을 /   / 두 / 른 / 듯'

reverse()는 배열의 순서를 반전시키는 매서드로 다음과 같다

const array1 = ['one', 'two', 'three'];
console.log('array1:', array1);
expected output: "array1:" Array ["one", "two", "three"]

const reversed = array1.reverse();
console.log('reversed:', reversed);
expected output: "reversed:" Array ["three", "two", "one"]


console.log('array1:', array1);
expected output: "array1:" Array ["three", "two", "one"]

그리고 오늘의 하이라이트 parseIntMath.sign이다.
MDN공식 문서를 살펴보면

parseInt() 함수는 문자열 인자를 구문분석하여 특정 진수(수의 진법 체계에 기준이 되는 값)의 정수를 반환합니다.

여기서 수의 진법 체계에 기준이 되는 값이 중요한데 음수(-)를 toString으로 변환해 reverse한 후 join시켰을 때 Number로 변환 할 경우 '-' 때문에 NaN이 반환되지만 parseInt의 경우 정상적으로 숫자가 반환 된다.

let num = -1234
let str = num.toString();
let arr = str.split("").reverse().join("");

console.log(Number(arr)); -> NaN

console.log(parseInt(arr)); -> 4321

Math.sign()은 간단하다 인자로 전달된 값이 음수(-)이면 -1을 반환하고 양수이면 1을 반환해서 여러가지로 응용할 수 있을 듯 하다.

오늘은 포스팅이 길어졌는데 직접 짠 코드도 있고 MDN문서를 응용하기도 하고 나름 뿌듯하기도.. 😊 오후에 리엑트 수업을 기대?....하며 마무리 하기로 하자!

profile
만드는 사람도 사용하는 사람도 편하고 만족하는 '것'을 추구하는 프론트엔드 개발자

0개의 댓글