Jam's story

[JS] 배열 본문

WEB/JavaScript

[JS] 배열

애플쩀 2022. 6. 3. 04:58
배열 선언방법 
 let/var/const 배열명=[];   
배열명[index]=??;       
const 배열명=[??,??,??];   
대부분 const를 쓴다.  
<script>
    var pdemo=document.getElementById("demo");
    //1.
    const carls=["Saab","Kia","Volvo","BMW"];
    carls[4]=Date.now;
    carls[5]=function(){};
    pdemo.innerHTML=
    "배열크기"+carls.length+"<br>" 
    +"배열의 0번째요소 "+carls[0]
    +"배열의 2번째요소 "+carls[2] +"<br>"
    +typeof(carls)+"<br>" //object
    +"<br>"+carls+"<br>" ;//Saab,Kia,Volvo,BMW
    
   
    //2.
    var cars=[];
    cars[0]="Saab";
    cars[1]="Kia";
    cars[2]="Volvo";
    cars[3]="BMW";
    //3.
    var cars=new Array("Saab","Kia","Volvo","BMW");

</script>

 

배열의 정렬

오름차순 : sort() ; - 기본 

내림차순 : reverse() 

       var fruits=["banana","orange","apple","mango"];
       //오름차순
        fruits.sort(); //apple,banana,mango,orange
        console.log(fruits.toString());
        //내림차순
        fruits.reverse(); //orange,mango,banana,apple
        console.log(fruits.toString());

 

 

숫자를 기준으로 정렬

<script>
        var smp=[
    {name:"김평야", age:23},
    {name: "오천", age:33},
    {name: "단", age:22},
    ];
    
    //오름차순 
    smp.sort(function(a,b){
           return a.age-b.age;
       })
/*        단,22
김평야,23
오천,33 */
 
    document.getElementById("demo").innerHTML= 
    smp[0].name+","+smp[0].age+"<br>"
    +smp[1].name+","+smp[1].age+"<br>"
    +smp[2].name+","+smp[2].age+"<br>";
  
    //내림차순 
    smp.sort(function(a,b){
           return b.age-a.age;
       })

/*        오천,33
김평야,23
단,22 */
</script>

문자기준

console.log("ABC".localeCompare("ABC"));  //같으면 0
console.log("ABC".localeCompare("abc")); //뒤에가 더 크면 1 
console.log("ABC".localeCompare("ABc"));//1
console.log("abc".localeCompare("ABC")); //-1
console.log("AbC".localeCompare("ABC")); //-1


같으면 0 
뒤에가 더 크면 1
앞에가 더 크면 -1

 

//오름차순 
smp.sort(function(a,b){
    if(a.type>b.type) return 1;
    else if(a.type<b.type) return -1;
    else 0;
});

document.getElementById("demo").innerHTML= 
    smp[0].name+","+smp[0].age+"<br>"
    +smp[1].name+","+smp[1].age+"<br>"
    +smp[2].name+","+smp[2].age+"<br>"
/*     
    김평야,23
오천,33
단,22 */


//오름차순 
    smp.sort(function(a, b) {
	return a.name.localeCompare(b.name); // 0,1,-1
})

//위의 식을 람다식으로 

smp.sort((a,b) => { a.name.localeCompare(b.name);});

document.getElementById("demo").innerHTML+= 
    smp[0].name+","+smp[0].age+"<br>"
    +smp[1].name+","+smp[1].age+"<br>"
    +smp[2].name+","+smp[2].age+"<br>"

 

오름차순, 내림차순 예제 

<!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">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <title>Document</title>
</head>
<body>    <input type="radio" name="sort" value="1" checked="checked">오름차순정렬
    <input type="radio" name="sort" value="-1">내림차순정렬
    <button onclick="test();"> 배열 정렬 후 출력 </button>    
<script>
    function test(){

         //    m.sort(); //오름차순 정렬 
         //string 형태는 정렬이 잘되지만 number형은 제대로 되지 않는다. 
        var radioValue=parseInt($(":radio[name=sort]:checked").val());
        var m=[3,5,2,4,100,1,51];
        m.sort((a,b) => radioValue*(a-b)); //오름차순정렬

      /*   m.sort((a,b) => b-a); //내림차순정렬-숫자
        m.sort((a,b) => a-b); //오름차순정렬-숫자 */

        m.forEach(function(elt,i,array){
            console.log("m["+i+"]="+elt);
            
        })
    }
</script>
</body>
</html>
Document 오름차순정렬 내림차순정렬

 

예제2

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Insert title here</title>
<link rel="shortcut icon" type="image/x-icon" href="../images/SiSt.ico">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>

<h3>ex05_03.html - 배열 연습 3</h3>

<!-- 매번 입력하기 귀찮아서 input박스에 "3,5,2,4,1,100,51" value로 설정 -->

숫자 입력: <input type="text"id="num"autofocus="autofocus"value="3,5,2,4,1,100,51">
<br>
<button>배열추가</button>
<p id="demo"></p>
<br>
<input type="radio"name="sort"checked="checked">오름차순정렬
<input type="radio"name="sort">내림차순정렬


<!-- 숫자를 입력하고 입력한 숫자가 배열에 들어가게 코딩해 보자. -->



<script> 
   // 4단계
   // 배열을 오름차순 내림차순 버튼을 누르면 정렬되게 해보자.
   var numbers=[];
   
   
   $("button").click(function(event){
      var data = $("#num").val();
      var nums = data.split(/\s*,\s*/);
      //type of nums array => object
      //demo  /li
      
      nums.forEach(function(elt,i,array){
         numbers.push(elt);
      });

      text = "<ol>";
      numbers.forEach(function(elt,i,array){
         text+="<li>"+elt+"</li>";
      })
      //numbers.forEach((elt,i,array)=>text+="<li>"+elt+"</li>");
      
      text+="</ol>"
      
      $("#demo").html(text);
      
   });
   
</script>


<!-- 
<script> 
   //3단계
   // 이제 1,2,3,4 와 같이 콤마 연산자로 하더라도 배열에 추가하고 싶다.
   var numbers=[];
   
   
   $("button").click(function(event){
      var data = $("#num").val();
      var nums = data.split(/\s*,\s*/);
      //type of nums array => object
      //demo  /li
      
      nums.forEach(function(elt,i,array){
         numbers.push(elt);
      });

      text = "<ol>";
      numbers.forEach(function(elt,i,array){
         text+="<li>"+elt+"</li>";
      })
      //numbers.forEach((elt,i,array)=>text+="<li>"+elt+"</li>");
      
      text+="</ol>"
      
      $("#demo").html(text);
      
   });
   
</script>
 -->

<!-- 
<script>
   var numbers=[];
   //index
   //numbers[0]=100;
   //numbers[1]=5;
   //numbers[6]=34;
   //배열의 요소 추가할 때의 위치(index)    -          numbrs.length
   
   
   $("button").click(function(event){
      var n = $("#num").val();
      if(  isNaN(n) || n==""  ){
         alert("입력 잘못했습니다.(숫자가 아님)");
         $("#num")
               .focus()
               .select();
         return;
      }
      
      /* 
      배열 요소 추가하는 방법 
      numbers[numbers.length]=n;
       */
      //위와같이 코딩 하지 않더라도
      //마지막 요소로 추가하는 함수가 있다.
      //배열 요소 추가 - push()
      numbers.push(n);
      
      var text = "<ol>";
      
      numbers.forEach(function(elt,i,array){
         console.log(elt+"/"+i+"/"+array);
         text+="<li>"+elt+"</li>";
      })
      
      text+="</ol>"
      $("#demo").html(text);
      
   });
   
</script>
 -->

<!-- 
<script>
   var numbers=[];
   //index
   //numbers[0]=100;
   //numbers[1]=5;
   //numbers[6]=34;
   //배열의 요소 추가할 때의 위치(index)    -          numbrs.length
   
   
   $("button").click(function(event){
      var n = $("#num").val();
      if(  isNaN(n) || n==""  ){
         alert("입력 잘못했습니다.(숫자가 아님)");
         $("#num")
               .focus()
               .select();
         return;
      }
      
      numbers[numbers.length]=n;
      
      var text = "<ol>";
      for (var i = 0; i < numbers.length; i++) {
         text+="<li>"+numbers[i]+"</li>"
      }//for
      text+="</ol>"
      $("#demo").html(text);
      
   });
   
</script>
 -->
</body>
</html>
Insert title here

ex05_03.html - 배열 연습 3

숫자 입력:


오름차순정렬 내림차순정렬

 

예제1,2 혼합  - 라디오버튼으로 정렬기준 정한후 , 출력 

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>2022.06.03 04:29:15</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<h3>ex05_03_02.html</h3>
숫자 입력: <input type="text"id="num"autofocus="autofocus"value="3,5,2,4,1,100,51">
<br>

<br>
<input type="radio"name="sort"checked="checked" value="1">오름차순정렬
<input type="radio"name="sort" value="-1">내림차순정렬
<button>배열추가하고 정렬</button>

<p id="demo"></p>
<script>
    var numbers=[];
    $("button").click(function(event){
        var data=$("#num").val();
        var nums=data.split(/\s*,\s*/);
        nums.forEach(function(elt, i,array){
            numbers.push(elt);
        });
        
        var RadioValue=parseInt($(":radio[name=sort]:checked").val());
        console.log(numbers.toString());
       //오름차순정렬 numbers.sort(function(a,b){ return a-b;});
       // numbers.sort((a,b) => a-b);
        numbers.sort((a,b) => RadioValue*(a-b));
            console.log(numbers.toString());
        var text="<ul>";
        numbers.forEach(function(elt,i,array){
            text+="<li>"+elt+"</li>";
        });
        text+="</ul>";
            $("#demo").html(text);   
    });
     
</script>
</body>
</html>
2022.06.03 04:29:15

ex05_03_02.html

숫자 입력:

오름차순정렬 내림차순정렬

 

 

js

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>2022.06.03 04:47:21</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<h3>ex05_03js.html</h3>
숫자 입력: <input type="text"id="num"autofocus="autofocus"value="3,5,2,4,1,100,51">
<br>

<br>
<input type="radio"name="sort"checked="checked" value="1">오름차순정렬
<input type="radio"name="sort" value="-1">내림차순정렬
<br><br>
<button onclick="arrlist();">배열추가하고 정렬</button>

<p id="demojs" style="border:3px solid rgb(255, 174, 174) ;">
배열이 여기에 나타납니다. </p>

<script>
     var numbers=[];
     //배열이 함수 안으로 들어가면 버튼을 누를때마다 초기화가 되기때문에 추가가 되지 않는다. 
function arrlist(){
   
    var datas=document.querySelector("input:first-of-type").value;
    var nums=datas.split(/\s*,\s*/);
    nums.forEach(function(elt,i,array){
        numbers.push(elt);
    });
    
    console.log(numbers.toString());

    var RadioValue=document.querySelector("input[name=sort]:checked").value;
    console.log( RadioValue);

    numbers.sort((a,b) => RadioValue*(a-b));
    console.log(numbers.toString());

    var hStr="<ul>";
    numbers.forEach(function(elt,i,array){
        hStr+="<li>"+elt+"</elt>";
    });
    hStr+="</ul>";
    document.getElementById("demojs").innerHTML=hStr;
}  

</script>
</body>
</html>
2022.06.03 04:47:21

ex05_03js.html

숫자 입력:

오름차순정렬 내림차순정렬

배열이 여기에 나타납니다.

 

 

 

 

배열 li로 출력 

    //배열 출력
    var text="<ol>";
    for (let i = 0; i < smp.length; i++) {
        text+="<li>"+smp[i].name+"</li>";
    }
    text+="</ol>";
    $("#demo").html(text);
반복처리할 수 있는 함수가 존재한다.
forEach(function(elt, i, array) { }
elt는 요소, i는 객체번호이다.
만일 let와 i와 array중에 안쓰는게 있다면 지워도 가능 
var colors=new Array("pink","oranage","red","pupple");
    var text="<ol>";
       
        colors.forEach(function(elt, i, array) {
		text+="<li>"+elt+"("+i+")"+"</li>";
	});	
text+="</ol>";
document.querySelector("#demo").innerHTML=text;

 

배열인지 아닌지 확인

배열을 typeof로 찍어보면 object로 출력되기 떄문에 
배열인지 아닌지 확인할 수 있는 함수가 존재한다.
 - Array.isArray(배열명) 
 - 배열명 instanceof Array
console.log(Array.isArray(colors)); //true
console.log(smp instanceof Array); //true

join - 구분자 추가 

    pdemo.innerHTML=colors.toString();
    pdemo.innerHTML=colors.join("/"); //pink/oranage/red/pupple

    //join으로 li태그 만들기
    pdemo.innerHTML= "<ol><li>"+colors.join("</li><li>")+"</li></ol>";

 

shift() / unshift() 
shift() : 첫번째 요소를 제거하고 다른 모든 요소를 앞으로 이동
unshift(값) : 첫번째 요소에 추가하고 다른 모든 요소를 뒤로 이동
   console.log(colors.toString()); //pink,oranage,red,pupple
    colors.shift();
    console.log(colors.toString()); //oranage,red,pupple

    colors.unshift("strawberry");
    console.log(colors.toString()); //strawberry,oranage,red,pupple

 

slice() 
얇게 썰다
m.slice(1,3) 하면 m[1] ,[2] 값 출력
splice()
잇다, 연결하다
splice(새로운 요소를 연결할 위치 인덱스, 제거할 요소 개수, 추가요소)
m.splice(2, 0, 100,200);* 리턴값 : 삭제된 항목의 배열을 반환
<!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">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <title>Document</title>
</head>
<body>
    <p id="demo"></p>
    <script>
        var m=[3,5,2,4,1];
        console.log(typeof m); //object
        console.log(Array.isArray(m)); //배열인지 아닌지
        console.log(m instanceof Array); //true
        console.log(m.toString()); //3,5,2,4,1
        console.log(m); //[3, 5, 2, 4, 1]

/* 
li태그에 배열요소 넣기 
            var text="<ol>";
            m.forEach(function(elt, i,array){
                text+="<li>"+elt+"</li>";
            })
            text+="</ol>"; 
            $("#demo").html(text);

 */

 //구분자넣기 
// console.log(m.join("/")); //   3/5/2/4/1

//join함수로 li태그에 배열요소 넣기 
/*             
            var text="<ul> <li>";
            text+= m.join("</li><li>");
            text+="</li></ul>"; 
            $("#demo").html(text); 
          
            */

//새로운 요소 추가 100
m.push(100);

//가장마지막요소가져오기 
/* 
//1.
var lastElement=m[m.length-1];
console.log(lastElement); 
//2.
var lastElement=m.pop();*/

/*
 pop(): 마지막요소 +제거 
shift(): 첫요소+ 제거 
*/
/* 
var firstElement=m.shift();
console.log(firstElement);
 */

 //push()마지막요소 추가 , unshift() 첫요소 추가하고 뒤로 한칸씩 밀음 
 var len=m.unshift("100");
 console.log("len="+len);
//console.log(m.toString());

//2번째요소값을 500으로 변경
//m[2]=500;

//배열 요소 삭제= pop() shift()
console.log("배열을 delete로 삭제: "+m.toString());
delete m[1];
console.log(m.toString());
//delete는 앞으로 땡기거나 하지않고 빈자리로 남아있다. 
console.log(m[1]); //undefined

var n=[15,25,35];
var o=[66,77];
//배열병합 concat()
var mn=m.concat(n);
console.log("concat으로 두 배열 병합"+mn.toString());
var mno=n.concat(n,o);
console.log("concat으로 세 배열 병합"+mno.toString());


//concat으로 값+배열 병합
console.log("원래 m배열: "+m.toString());
var newm=m.concat(1003);
console.log("concat으로 값+배열 병합"+newm.toString());

//1~for 2칸식밀고 
m[6]=m[4];
m[5]=m[3];
m[4]=m[2];
m[3]=m[1];
//새로운 값넣으면 되는데 
m[2]=200;
m[1]=100;

//저렇게 구현할 필요없이 splie() 메소드를 사용한다. 
/* splice 란? - 잇다 연결한다. 
m.splice(pos,amount,newelt);
splice(새로운 요소를 연결할 위치 인덱스, 제거할 요소 개수, 추가요소)
추가요소를 나열해서 n개이상 추가 가능 
 */
m.splice(1,0,100) //3,100,5,2,4,1
m.splice(1,0,100,200); //3,100,200,5,2,4,1
m.splice(1,2); //3,4,1
console.log(m.toString());


//slice() - 배열의 일부를 새 배열로 잘라내는 기능 
var n=m.slice(1,3);
//새 배열에 m[1],m[2]로 새 배열이 만들어지고 ,원래배열에는 제거되지 않는다. 
//복사같은 느낌 
console.log(m.toString());
console.log(n.toString()); 

//1.배열의 가장 큰 값을 찾아서 출력 
//2.배열의 가장 작은 값을 찾아서 출력 
</script>
</body>
</html>

 

 

<script>
    var m=[];
    for (let i = 0; i < 5; i++) {
        m.push(Math.floor(Math.random()*100)+1);

    }
    document.getElementById("demo").innerText+=m.toString();

    m.sort(function(a,b){
        return a-b;//  오름차순 
        //	return b-a; //내림차순
    });
    document.getElementById("demo").innerHTML+="<br>";
    document.getElementById("demo").innerText+="오름차순 정렬 :";
    document.getElementById("demo").innerText+=m.toString();


    m.sort(function(a,b){
        return 0.5-Math.random();
    });
    document.getElementById("demo").innerHTML+="<br>";
    document.getElementById("demo").innerText+="무작위 정렬 :";
    document.getElementById("demo").innerText+=m.toString();

    //가장 작은값과 가장 큰값
    m.sort(function(a,b){
        return a-b;
    });

    document.getElementById("demo").innerHTML+="<br>";
    document.getElementById("demo").innerText+="가장 작은값과 가장 큰값 : ";
    document.getElementById("demo").innerText+=m[0]+","+m[m.length-1];
  
  
    //2번째 방법으로 최대값 최소값 구하기 
    var max= Math.max.apply(null,m);
    var min=Math.min.apply(null,m);

    document.getElementById("demo").innerHTML+="<br>";
    document.getElementById("demo").innerText+="가장 작은값과 가장 큰값 : ";
    document.getElementById("demo").innerText+=min+","+max;
  </script>

 

 

 

배열 함수

  • toString()
  • join(구분자)
  • push(요소) 요소추가 후 배열의 크기 반환.
  • pop() 마지막 요소 제거 후 반환.
  • shift() 첫번째 요소 제거 후 반환.
  • unshift(요소) 앞에 요소 추가 후 배열의 크기 반환.
  • splice(위치, 제거갯수, [추가요소...]) 배열에 새 항목을 추가하는 메서드
  • slice(시작, 끝) 끝 인덱스는 포함하지 않는다.
  • sort([compare])
  • reverse()
  • forEach()
  • map(e, i, arr => 계산) 각 배열의 요소에 대해 함수를 수행하고 새 배열 생성해서 반환하는 메서드
  • filter(e, i, arr => 조건)
  • reduce 배열을 줄이다.
  • every(e, i, arr => 조건) 모든 요소가 조건을 만족하는지 여부를 반환하는 메서드. boolean 을 반환한다.
  • some
  • indexOf(요소) 인덱스 반환 앞에서부터 검색할 값을 찾기 시작하는 속성
  • lastIndexOf(요소) 끝에서부터검색할 값을 찾기 시작
  • includes(요소) 배열에 있는지 boolean 반환
  • find(e, i, arr => 조건) 찾은 첫번째요소를 반환
  • findIndex()

Array.map() :  각 배열의 요소를 가지고  새로운 배열 생성 반환하는 함수

<script>
var n = m.map(function(elt, i, array) { //만약 elt만 사용할거면 i, array를 지워도 된다. 
	return elt*2 ; //2배 키운 새로운 함수
});
document.getElementById("demo").innerHTML=n.toString();
</script>

 

Array.filter() : 조건에 맞춰 필터링

<script>
	//1번
	var n =[];
	for (var i = 0; i < m.length; i++) {
			if(m[i]>15) n.push(m[i]);
	}
	
	
 	//2번 Array.forEach()
	  m.forEach(function(elt, i, array) {
 		if(elt>15) n.push(elt);
 	})	 
     
	 //3번 Array.filter() : 조건을 만족하는  필터링한 배열 요소만 가지고 새로운 배열 생성
	  var n = m.filter(function(elt, i, array) {
	 	return elt>15;
	 })
	 
	 document.getElementById("demo").innerHTML=n.toString(); 
     
     //4번 
     //위식을 람다식으로 표현 
   	var n=m.filter( (elt) => {return elt>15});

</script>

 

 

7. m 배열의 모든 요소의 합을 구해서 출력하세요. 

reduce() 각 배열의 요소 -> 함수 -> 단일 값 생성 .  왼쪽부터 처리
reduceRight() 오른쪽 부터 처리
 
let sum= m.reduce(function(sum,elt, i,array){
    return sum+elt;
},0);

 

중복체크

.every() 배열의 모든 요소가 조건에 만족하는지 여부를 반환하는 함수
.some() 하나라도 만족하는것이 있는지
<script>
//1번째
  function isDuplication(m,n){
        for (let i = 0; i < m.length; i++) {
           if(m[i]==n) return true;    
        }
        return false;
    }
    var m=[1,3,5];
    var n=parseInt(Math.random()*5)+1;
    console.log(n);
    var check=isDuplication(m,n);
    console.log(check? "중복해":"중복안해");

//2번째
    var m=[1,3,5];
var n=parseInt(Math.random()*5)+1;
//every() 배열의 모든 요소가 조건에 만족하는지 여부를 반환하는 함수 
var check=m.every(function(elt,i,array){
    return n!=elt;
});
//some() 하나라도 만족하는것이 있는지 
console.log(check);
</script>

 

 

for in 각 요소의  인덱스를 반환 
for of  각 요소 을 반환 

인덱스 반환
indexOf(요소)  앞에서부터 검색할 값을 찾기 시작하는 속성
시작할 위치가 생략이 될 경우에는 시작위치의 값을 0으로 인식하여 처음부터 검색을 시작
일치하는 결과값이 없을 경우에는 -1  리턴 

lastIndexOf(요소) 끝에서부터검색할 값을 찾기 시작
시작할 위치가 생략이 될 경우에는 시작위치의 값을  끝으로 인식하여 끝부터 검색을 시작
일치하는 결과값이 없을 경우에는 -1  리턴 
찾는 시작위치만 다를 뿐 결과값은 동일하게 맨 앞에서부터 위치의 값을 반환

includes -  boolean형으로 있다 없다만 나타냄
   var m = [45, 4, 9, 16, 25];  
  console.log(m.indexOf(4)); //1
  console.log(m.indexOf(30));// -1
  console.log(m.lastIndexOf(4)); //1
  console.log(m.lastIndexOf(45)); //0
  console.log(m.lastIndexOf(30)); //-1
  console.log(m.lastIndexOf(16)); //3 
 
     console.log(m.indexOf(16,0)); //-1
    //lastIndexOf 뒤에서 부터 찾음 
    console.log(m.lastIndexOf(16,0)); //-1
    //includes는 boolean형으로 있다 없다만 나타냄 
    console.log(m.includes(45)); //true
    
  for (var idx in m) {
        console.log(idx); //각각 인덱스값이 출력된다. 
    //배열의 값을 출력하고 싶다면 
    console.log(m[idx]);
}

//실제 요소값을 반환 
    for (const elt of m) {
        console.log(elt);
    }

 

 

.entries()  인덱스값과 요소값을 같이 반환 
   let e= m.entries();
   //of 뒤에 m이 아닌 e가 와야한다. 
    for (let x of e) {
        //인덱스값= key, 요소값=value
        console.log(x);

/* (2) [0, 45]
(2) [1, 2]
 (2) [2, 1]
(2) [3, 11]
(2) [4, 35]  인덱스값과 요소값이 이렇게 출력된다. */

 

 

+추가 

js 는 함수의 매개변수 갯수가 일치하지 않아도 함수 이용 가능 

<script>
    function sum(){
        var result=0;
        for(var i =0; i<arguments.length; i++){
            result+=arguments[i];
        }
        return result;
    }
    var result=sum(1,2,3,4);
    console.log(result);
</script>

'WEB > JavaScript' 카테고리의 다른 글

[JS] 달력만들기  (0) 2022.06.03
[JS] Date  (0) 2022.06.03
[JS] 문자열 다루기  (0) 2022.06.02
[ JS] days03  (0) 2022.06.02
[JS] 체크 모두풀기, 해제하기  (0) 2022.06.02
Comments