화면구현/HTML

[JavaScript] Random

psys 2020. 6. 24. 12:40
728x90
스크립트태그를 관례적으로 /body에 쓰는 이유
위에 사용이된다면 만들어지지 않은 것에 접근(null)을 할 수 있으므로 실수를 방지하기 위함
<body>
    <script>
    	// 아직 만들어지지 않은 것에 접근
        alert(document.getElementById("id_imsi"));
    </script>
    <div id="id_imsi"그냥태그></div>
    <script>
        alert(document.getElementById("id_imsi"));
    </script>
</body>

 

 

 

Random

cpu클럭 카운트를 이용. 정확하진 않음

Math.ceil, Math.round,Math.floor,Math.PI

 

1.  1부터 10까지

    <script>
        for(var i=1;i<=10;i++){
            alert(Math.ceil(Math.random()*10);
        }    
    </script>

 

2. 65부터 100까지

1) 0부터 35까지

    <script>
        for(var i=1;i<=10;i++){
            alert(Math.round(Math.random()*35);
        }    
    </script>

2) 65부터 100

    <script>
        for(var i=1;i<=10;i++){
            alert(Math.round(Math.random()*35)+65);
        }    
    </script>

3) 함수로 만들기

    <script>
            function f_ranSu(p_start,p_end){
                return Math.round(Math.random()*(p_end-p_start))+p_start;
            }
    </script>

4) 50부터 100까지

    <script>
            function f_ranSu(p_start,p_end){
                return Math.round(Math.random()*(p_end-p_start))+p_start;
            }
            for(var i=1;i<=10;i++){
                alert(f_ranSu(50,100));
            }
    </script>

 

3. 삼각함수

    <script>
        alert(Math.round(Math.random()*35)+65);
    </script>

 

ex>

<script>
    var v_arr = [4, 9, 8, 3, 5, 7];
    // 첫번째에 가장 작은 값이 오도록하기
    for (var i = 1; i < v_arr.length; i++) {
        if (v_arr[0] > v_arr[i]) {
            var tmp = v_arr[0];
            v_arr[0] = v_arr[i];
            v_arr[i] = tmp;
        }
    }
    alert("v_arr: "+v_arr+"\nv_arr[0]: "+v_arr[0]);
</script>

ex> 요소별 확인

<meta charset="UTF-8">
<script>
    var v_arr = [4, 9, 8, 3, 5, 7];
    for (var i = 0; i < v_arr.length; i++) {
        for (var j = 0; j < v_arr.length; j++) {
            if (v_arr[j] > v_arr[i]) {
                var tmp = v_arr[j];
                v_arr[j] = v_arr[i];
                v_arr[i] = tmp;
            }
        }
    }
    alert("v_arr: " + v_arr + "\n첫번째: " + v_arr[0] 
        + "\n두번째: " + v_arr[1] + "\n세번째: " + v_arr[2]
        + "\n네번째: " + v_arr[3] + "\n다섯번째: " + v_arr[4]
        + "
더보기

버블정렬

>> 강사님

    var v_arr = [4, 9, 8, 3, 5, 7];
    for (var i = 0; i < v_arr.length; i++) {
        for (var j = i+1; j < v_arr.length; j++) {
            if (v_arr[i] > v_arr[j]) {
                var tmp = v_arr[i];
                v_arr[i] = v_arr[j];
                v_arr[j] = tmp;
            }
        }
    }

>> 강사님_내림차순

    var v_arr = [4, 9, 8, 3, 5, 7];
    for (var i = 0; i < v_arr.length; i++) {
        for (var j = i+1; j < v_arr.length; j++) {
            if (v_arr[i] < v_arr[j]) {
                var tmp = v_arr[i];
                v_arr[i] = v_arr[j];
                v_arr[j] = tmp;
            }
        }
    }

 >> 함수화

<script>
    function f_arrSort(v_arr) {
        for (var i = 0; i < v_arr.length; i++) {
            for (var j = i + 1; j < v_arr.length; j++) {
                if (v_arr[i] > v_arr[j]) {
                    var tmp = v_arr[i];
                    v_arr[i] = v_arr[j];
                    v_arr[j] = tmp;
                }
            }
        }
    }
    var v_arr = [4, 9, 8, 3, 5, 7];
    f_arrSort(v_arr);
    alert(v_arr);
    var v_arr1=[3,8,7,9,4,2,1,0,5];
    f_arrSort(v_arr1);
    alert(v_arr1);
</script>

 

'화면구현 > HTML' 카테고리의 다른 글

재귀호출  (0) 2020.06.25
중복체크  (0) 2020.06.25
오버플로우  (0) 2020.06.24
Position2  (0) 2020.06.23
스타일 사용법(내부와 인라인과 배열)  (0) 2020.06.23