• dmchoi
  • 자바스크립트 객체 순회하기

    2022년 02월 10일

    자바스크립트에서 객체 순회하기

    평소에 배열의 원소들을 순회하거나 다루는 작업은 많이 있었지만, 객체는 이런 경험이 별로 없었던 것 같아서 따로 정리해보려 합니다.

    let obj = {
      a: [1, 2, 3, 4, 5],
      b: [6, 7, 8, 9, 10],
      c: [11, 12, 13, 14, 15],
    };

    Object.keys()

    객체의 키 목록을 배열로 반환
    객체의 내장 메서드가 아닌 객체 생성자인 Object의 내장 메서드

    console.log(Object.keys(obj)); //[ 'a', 'b', 'c' ]

    반복문을 사용해서 values 조회

    let keys = Object.keys(obj);
    for (let i = 0; i < keys.length; i++) {
      let key = keys[i];
      let value = obj[key];
      console.log(value);
      // [ 1, 2, 3, 4, 5 ]
      // [ 6, 7, 8, 9, 10 ]
      // [ 11, 12, 13, 14, 15 ]
    }

    Object.values()

    // console.log(Object.values(obj)); // [ [ 1, 2, 3, 4, 5 ], [ 6, 7, 8, 9, 10 ], [ 11, 12, 13, 14, 15 ] ]

    ES6에서 객체의 key와 value 값을 배열로 반환하는 메서드 Object.entries()

    let entries = Object.entries(obj);
    console.log(entries);
    // [
    //     [ 'a', [ 1, 2, 3, 4, 5 ] ],
    //     [ 'b', [ 6, 7, 8, 9, 10 ] ],
    //     [ 'c', [ 11, 12, 13, 14, 15 ] ]
    //   ]

    for …in

    ES6에서 추가된 문법으로 객체와 배열 모두 순회가 가능하다.

    for (let key in obj) {
      let value = obj[key];
      console.log(`key : ${key}, value :  ${value}`);
      // key : a, value :  1,2,3,4,5
      // key : b, value :  6,7,8,9,10
      // key : c, value :  11,12,13,14,15
    }
    Tags
      © 2021 dmchoi, Powered By Gatsby.