본문 바로가기

Front End/Javascript

[JavaScript] 배열 요소의 반복(for, for ~ in, for ~ of, forEach)

배열의 요소의 모든 내용을 순회하는데는 방법이 존재 합니다. 

        let ar = ["밤","배","감","사과","대추"];
        document.write(`${typeof(ar)}(${ar.length}개) : ${ar}<br>`);
        document.write(`<hr>`);

 

전통적인 for 반복문을 사용하는 방법 : index의 범위인 0 ~ length-1까지를 반복하며 [](대괄호)로 접근합니다. 

        // 배열 요소의 반복
        for(let i=0;i<ar.length;i++){
            document.write(`ar[${i}] = ${ar[i]}<br>`);
        }
        document.write(`<hr>`);

 

for ~ in : 배열의 크기를 자동으로 판단하여 index값이 전달됩니다.  [](대괄호)로 접근합니다. 

        for(let i in ar){
            document.write(`ar[${i}] = ${ar[i]}<br>`);
        }
        document.write(`<hr>`);

 

for ~ of : 인덱스 값이 아닌 실제 요소의 값이 전달 됩니다. 변수를 사용합니다.

        for(let value of ar){
            document.write(`${value}<br>`);
        }
        document.write(`<hr>`);

        // for...of 사용시 인덱스를 사용하고 싶을 때 : [index, item]  배열로 묶어 items.entries() 함수를 추가해주면 됩니다.
        for(let [index, value] of ar.entries()){
            document.write(`ar[${index}] = ${value}<br>`);
        }
        document.write(`<hr>`);

 

forEach 메서드 : 요소를 반복해 줍니다. 콜백함수를 전달해서 처리 합니다.

        ar.forEach((value)=>{
            document.write(`${value}<br>`);
        });
        document.write(`<hr>`);

 

ex03.html 파일을 다음과 같이 만듭니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>javascript Array</title>
    <script>
        let ar = ["밤","배","감","사과","대추"];
        document.write(`${typeof(ar)}(${ar.length}개) : ${ar}<br>`);
        document.write(`<hr>`);
        // 배열 요소의 반복
        for(let i=0;i<ar.length;i++){
            document.write(`ar[${i}] = ${ar[i]}<br>`);
        }
        document.write(`<hr>`);
        
        for(let i in ar){
            document.write(`ar[${i}] = ${ar[i]}<br>`);
        }
        document.write(`<hr>`);
        
        for(let value of ar){
            document.write(`${value}<br>`);
        }
        document.write(`<hr>`);
 
        // for...of 사용시 인덱스를 사용하고 싶을 때 : [index, item] 으로 배열로 묶어주고, items.entries() 함수를 추가해주면 됩니다.
        for(let [index, value] of ar.entries()){
            document.write(`ar[${index}] = ${value}<br>`);
        }
        document.write(`<hr>`);
        
        ar.forEach((value)=>{
            document.write(`${value}<br>`);
        });
        document.write(`<hr>`);
        
    </script>
</head>
<body>
    
</body>
</html>
cs

 

실행 결과 입니다.