JavaScript

[JavaScript] Array

Potato Ongsim 2023. 7. 19. 00:18
반응형

Array

Array(1차원)

     var arr = [10,20,30];
     console.log(arr)
     document.write(arr[0],"<br>");
     document.write(arr[1],"<br>");
     document.write(arr[2],"<br>");

//---------------------------------------------------

     var arr = new Array(3);
     //new - 메모리 생성 연산자
     //길이가 3인 Array 배열 객체 생성
     arr[0]=10;
     arr[1]=20;
     arr[2]=30;
     console.log(arr)

//---------------------------------------------------
     //예시
     var dice_arr = [0,0,0,0,0,0,0];
     var dice_per_arr = [0,0,0,0,0,0,0];
     var count=0;//횟수
     var num=0;//주사위눈금

     count = prompt('주사위 몇번?')
     count = parseInt(count)
     for(var i=1; i<=count; i++){
      num=Math.ceil(Math.random()*6)//1~6랜덤
      dice_arr[num]++;//횟수기록
     }
     for(var i=1; i<=6; i++){
        dice_per_arr[i] = (dice_arr[i]/count)*100;
     }
     for(var i=1; i<=6; i++){
      document.write(`${i}가 나온 횟수:${dice_arr[i]}`,"<br>")
     }
     for(var i=1; i<=6; i++){
      document.write(`${i}가 나온 확률:${dice_per_arr[i].toFixed(3)}%`,"<br>")
     }

.push

     var arr = [10,20,30];
     arr.push(40)
     //배열공간 하나 늘리면서 40저장
     console.log(arr)

push는 사용하면 배열이 바뀐다.

.concat

     var arr = [10,20,30];
     arr=arr.concat(40)//concatenate - 잇다, 연결하다
     console.log(arr)

concat은 추가된 배열을 반환하기 때문에 반환값을 다시 배열에 저장해야 한다.

.pop

     var arr = [10,20,30];//Array(3)
     arr.pop()
     console.log(arr)//Array(2)

배열에서 꺼낸다.

동적 Array(1차원)

      var count = prompt('몇명의 성적?')
      count=parseInt(count)
      var score = 0
      var total = 0
      var scoreArr = new Array(0) // []
      for(var i=1; i<=count; i++){
          score = prompt(i+'번째 성적 입력')
          score = parseInt(score)
          total += score
          scoreArr.push(score)
      }
      scoreArr.push(total)
      scoreArr.push(total/count)
      console.log(scoreArr)//[90,80,70,240,80]

Array(2차원)

      //점-선-면-입체
      //변수-1차원-2차원-3차원
      var arr = [
          [10,20,30],
          [40,50,60]
      ]
      //2행3열 2차원 배열~
      //행-가로줄, 열-세로줄
      document.write(arr[0][0],"<br>")//10
      //2차원 배열 arr 0행 0열 값
      document.write(arr[0][1],"<br>")//20
      //2차원 배열 arr 0행 1열 값

//---------------------------------------------------

      //점-선-면-입체
      //변수-1차원-2차원-3차원
      var arr = [
          [10,20,30],
          [40,50,60]
      ]
      for(var i=0; i<=1; i++){//행변화 (0~1)
        for(var j=0; j<=2; j++){//열변화 (0~2)
          document.write(arr[i][j]+" ")
        }
        document.write("<br>")
      }

동적 Array(2차원)

      var arr = new Array(0)//본바탕 배열
      var element = null//원소가 될 배열
      var row = 2//행
      var col = 3//열

      for(var i=1; i<=row; i++){
        element=new Array(0)
        for(var j=1; j<=col; j++){
          element.push(10)
        }//[10,10,10]
        arr.push(element)
        //[ X, X ]=[ [10,10,10],[10,10,10] ]
        element=null
      }
      console.log(arr)

 

 

반응형