본문 바로가기
개발기록/자바스크립트 & jQuery

for, for of, for in, forEach / 자바스크립트 반복문 [자바스크립트 도장깨기]

by 쎄정 2022. 5. 10.
728x90

목차

     

     

    배열을 순회하면서 처리하고자 할때 사용하는 함수이다.

     

     

    for 문

    일반족인 for문이다.

    • 중간에 loop를 건너뛰거나 종료가 가능하다 ( continue, break )

    conitnue와 break 차이🔽

    2022.05.01 - [개발기록/자바스크립트 & jQuery] - continue와 break 사용하는 법 [자바스크립트 도장깨기]

     

    //형식
    for(let i=0; i< 조건; 증감식){
    	//조건의 결과가 True일 시 반복적 실행한다.
    }

     

    예시

    const arr = ['apple', 'banana', 'orange'];
    
    for(let i=0; i<arr.length; i++){
        console.log(arr[i]);
    }
    // apple
    // banana
    // orange

     

    for of 문

    String, Array, Map, Set, NodeList등을 순회하는 반복문이다. 

    예시처럼 객체(object)는 에러가 나온다.

    //형식
    for(변수 of 객체){
    	//객체 
    }

     

    예시

    const arr = ['apple', 'banana', 'orange'];
    const object = { fruit1 : 'apple', fruit2 : 'banana'};
    
    for(let i of arr){ // String 배열
    	console.log(i);
    }
    // apple
    // banana
    // orange
    
    for(let i of object){ // 객체
    	console.log(i);
    }
    
    // object is not iterable

     

    for in 문

    객체 모든 속성의 Key를 순회한다. 

    예시처럼 객체(object)는 에러가 나온다.

    // 형식
    for(let i on arr){
    	//
    }

     

    예시

    const object = { fruit1 : 'apple', fruit2 : 'banana'};
    
    for(let i in object){
    	console.log(`${i} :{object[i]} );
    }
    
    // fruit1 : apple
    // fruit2 : banana

     

    forEach

    배열의 모든요소를 순회한다. (break와 continue 불가능)

    map()과 차이가 있다면 map은 배열 내 모든 요소에 대해 함수를 호출한 결과를 새로운 배열에 반환한다면

    forEach는 배열요소마다 한번 씩 함수를 실행하며 리턴값을 보내지 않는다.

    //형식
    배열.forEach( function(currentValue, index, array){
        // currentValue : 배열 원소의 값
        // index :  현재 요소의 인덱스
        // array : 현재 배열
    })
    
    
    // 화살표 함수로 변환
    arr.forEach((item, index) => {
      // 반복 실행문
    });

     

    예시

    let arr = [1, 2, 3, 4, 5];
    let result = 0;
    
    arr.forEach(num => { x => console.log(x); })
    const arr = ['apple', 'banana', 'orange'];
    
    arr.forEach((item, index) => {
      console.log(item);
    });
    
    // apple
    // banana
    // orange

     

     

    객체

    Object.keys(객체)

    객체의 key를 배열로 반환한다.

     

    //형식
    Object.keys({});

    예시

    const obj = { fruit1 : 'apple', fruit2 : 'banana'};
    
    Object.keys(obj);
    // ['fruit1', 'fruit2']

     

    Object.values(객체)

    객체의 값을 배열로 반환한다.

    // 형식
    Object.values({});
    const obj = { fruit1 : 'apple', fruit2 : 'banana'};
    
    Object.values(obj);
    // ['apple', 'banana']

     

    728x90
    반응형

    댓글