본문 바로가기
JAVASCRIPT

Javascript Built in Object - Math Object 자바스크립트 내장객체 - 수학객체

by devorldist 2022. 5. 6.
728x90
반응형
SMALL
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        /*
        <수학 객체의 메서드 및 상수>
        Math.abs()
        Math.max(1,2,3,4)
        Math.min(1,2,3)
        Math.pow(숫자, 제곱값) 숫자의 거듭제곱값
        Math.random() 0~1 사이의 난수
        Math.round() 소수점 첫째 자리에서 반올림
        Math.ceil() 올림
        Math.floor() 내림
        Math.sqrt() 숫자의 제곱급값
        Math.PI 원주율 상수 반환
        */

        var n = 2.1234;
        var maxNum = Math.max(10, 5, 6, 7); //10
        minNum = Math.min(13, 3, 6, 324); //3
        roundNum = Math.round(n); //2
        floorNum = Math.floor(n); //2
        ceilNum = Math.ceil(n); //3
        randomNum = Math.random(); //0~1
        piNum = Math.PI; //3.14

        document.write(maxNum, "<br>");
        document.write(minNum, "<br>");
        document.write(roundNum, "<br>");
        document.write(floorNum, "<br>");
        document.write(ceilNum, "<br>");
        document.write(randomNum, "<br>");
        document.write(piNum, "<br>");

        //난수 발생하여 원하는 구간의 정수의 값
        //Math.floor(Math.random()*(최댓값-최솟값+1))+최솟값;

        document.write("<h1>컴퓨터 가위 바위 보 맞추기 게임</h1>");

        var game = prompt("가위, 바위, 보 중 선택하세요", "가위");
        var gameNum;
        switch (game) {
            case "가위":
                gameNum = 1;
                break;
            case "바위":
                gameNum = 2;
                break;
            case "보":
                gameNum = 3;
                break;
            default: alert("잘못 작성하셨습니다.");
                location.reload();
        }

        var com = Math.ceil(Math.random()*3);

        if(gameNum == com) {
            document.write("맞췄습니다!!");
        } else {
            document.write("틀렸습니다.");
        }

        document.write("-----------------------------", "</br>");

        var d = new Array();
        d[0]=30;
        d[1]="따르릉";
        d[2]=true;

        var d = new Array(30, "따르릉", true);

        var d = [30, "따르릉", true];

        var arr = [ 30, "따르릉", true];

        document.write("<h3>배열값 가져오기1</h3>");
        document.write(arr[0], "<br>");
        document.write(arr[1], "<br>");
        document.write(arr[2], "<br>");

        document.write("<h3>배열값 가져오기2</h3>");
        for(var i=0; i<arr.length; i++) {
            document.write(arr[i], "<br>");
        }

        document.write("<h3>배열값 가져오기3</h3>");
        for(i in arr) {
            document.write(arr[i], "<br>");
        }

        /* <배열 객체의 메서드 및 속성>
        join(연결 문자) 배열 객체의 데이터를 연결 문자 기준으로 1개의 문자형 데이터로 반환함.
        reverse()
        sort() 오름차순 (낮은 것 부터~)
        slice(index1, index2)
        splice() 지정 데이터를 삭제하고 그 구간에 새 데이터 삽입
        concat() 2개의 배열 객체를 하나로 결합
        pop() 마지막 인덱스에 저장된 데이터 삭제
        push(new data) 마지막 인덱스에 새 데이터 삽입
        shift() 첫번째 인덱스에 저장된 데이터 삭제
        unshift(new data) 가장 앞의 인덱스에 새 데이터 삽입
        length 저장된 총 데이터의 개수
        */

        var arr1 = ["사당", "교대", "방배", "강남"];
        var arr2 = ["신사", "압구정", "옥수"];

        var result = arr2.join("-");
        console.log(result);
        document.write(result); //이거 출력 안됨. 배열 출력?

        result = arr1.concat(arr2);
        console.log(result);

        result = arr1.slice(1,3);
        console.log(result); // ['교대', '방배'] index 1~2까지 출력

        arr1.sort();
        console.log(arr1);

        arr2.reverse();
        console.log(arr2);

        document.write("----------------------------", "<br>");

        var greenArr = ["교대", "방배", "강남"];
        var yellowArr = ["미금", "정자", "수서"];

        greenArr.splice(2, 1, "서초", "역삼"); // 2번 인덱스 부터 1개의 데이터 삭제 후 삽입
        console.log(greenArr); //교대, 방배, 서초, 역삼

        var data1 = yellowArr.pop(); //마지막 인덱스의 데이터 삭제하고 data1에 저장 //data1 = 수서
        //yellow Arr은 미금, 정자
        var data2 = yellowArr.shift(); //첫번째 인덱스의 데이터 삭제하고 data2에 저장 //data2 = 미금
        //yellow Arr은 정자
        yellowArr.push(data2); //마지막 인덱스에 data2 삽입
        console.log(yellowArr); //정자, 미금

        yellowArr.unshift(data1); //첫번째 인덱스에 data1 삽입
        console.log(yeSllowArr);//수서, 정자, 미금

    </script>
</body>
</html>

출처 : doit javascript

728x90
반응형
LIST