본문 바로가기

JS

#자바스크립트 스터디 4 - Math 메소드, 문자열 메소드

숫자, 수학 메소드

toString() : 10진수를 -> 2, 16진수로 변경할 때 
let num = 10;

console.log(num.toString(2));
console.log(num.toString(16));
Math 객체 안의 메소드
Math.ceil() : 올림
Math.floor() : 내림 = 버림
Math.round() : 반올림
소수점 자릿수 : toFixed() 
let num = 10.12341;

console.log(num.toFixed(2));

toFixed는 "문자열"을 반환한다. Number() 을 통해 변환이 필요하다!!

소숫점 몇째 자리까지 나타낼지 괄호 안에 입력함

 

isNaN() : NaN인지 아닌지 확인한다.  
parseInt() : 문자열을 숫자로 바꿔준다.
//paseInt 문자열을 숫자로 변경, 문자가 있어도 숫자로 반환, 시작은 숫자
let num = '10f';

console.log(parseInt(num)); //문자열 f 제외하고 10 반환

let redColor = 'f3';
console.log(parseInt(redColor)); //NaN

console.log(parseInt(redColor, 16)); //2번째 인자 : 16진수로 변경하라는 명령!!

Number()와 다른 점은 문자가 혼용되어있어도 동작을 한다!!

ㄴ 다만 시작은 숫자여야함, 문자로 시작할 경우 NaN 반환함

2번째 인자로 진수를 지정하여 리턴할 수 있다. 

parseFloat()

parseInt와 동일하게 작동하지만, 부동소수점까지 반환함!

 

 

Math.random()
//Math.random()
//1~100 사이의 랜덤값 뽑기

Math.floor(Math.random()*100)+1 
//random 메소드는 0~1 사이의 무작위 숫자를 생성한다. ex) 0.2934

 

 

Math.max, min
Math.max(1,4,-1,10)
Math.min(1,4,-1,10)

괄호안의 값 중에서 가장 최대, 최소값을 구해준다.

 

Math.abs() : 절대값

 

Math.pow() : 거듭제곱
a = Math.pow(2,10); //2의 10승

console.log(a);
Math.sqrt() : 제곱근
Math.sqrt(16);

 

 

문자열 메소드

 

length : 문자열 길이
ttoUpperCase() / toLowerCase() : 모든 문자 대문자/소문자로 변경
indexOf() : 문자를 인수로 받아 몇번째 위치에 위치하는지 확인함
let desc = "Hi guys. Nice to meet you";

desc.indexOf('to'); //14
desc.indexOf('man'); //1

if(desc.indexOf('Hi')>-1){ //있는지 확인 시 -1로 대조해야함 첫 위치가 0이기 때문
    console.log('Hi가 포함된 문장입니다.');
}
slice(n,m) : n이 시작점, m 이 양수면 그 숫자까지 셈 음수면 끝에서부터 셈
let desc = "abcdefg";

desc.slice(2) //2번째 인자 없으면 끝까지 반환
desc.slice(2,2)
substring(n,m) : slice와 동일하게 지정해놓은 문자열 구간을 잘라서 보여줌 n과 m 사이의 문자열을 반환 n과 m을 바꿔도 동작함, 음수는 0으로 인식함

substring(2,5) == substring(5,2)

 

substr(n,m) : n부터 시작해서 m 개를 가져온다. 

substring과 비슷하게 동작

 

 

trim() : 앞 뒤 공백을 제거한다.
repeat(n) : 문자열을 n번 반복한다.

 

 

실습1. 목차에서 번호 제외하고 문자열만 출력하기

let list = [
    "01. 들어가며",
    "02. JS의 역사",
    "03. 자료형",
    "04. 함수",
    "05. 배열"
];

let newList = [];

for(let i=0; i<list.length; i++){
    newList.push(list[i].slice(4));
}

console.log(newList);

 

 

실습2. 금칙어 잡아내기

//금칙어 : 콜라

function hasCola(str){
    if(str.indexOf('콜라')>-1){

        console.log('금칙어가 있습니다.');

    }else{
        console.log('통과')
    }
}

hasCola("와 사이다가 짱이야!"); //-1 반환 (false)
hasCola("무슨소리, 콜라가 최고"); //6 반환
hasCola("콜라"); //0반환

-> 다른방법 : includes 를 활용해서 확인이 가능하다. 

있으면 true

없으면 false

 

if(str.includes("콜라) 

ㄴ 훨씬 간단하게 조건문을 사용할 수 있다.