자바스크립트 객체 순회(Object Iteration)

자바스크립트에서는 객체(object)를 사용하여 데이터를 구조화하고, 속성과 값을 포함하며, 다양한 기능을 수행하는 데 사용됩니다. 객체를 다룰 때 가장 흔히 사용되는 작업 중 하나는 객체 순회(Object Iteration)입니다. 객체를 순회하면서 객체의 속성과 값을 접근하고 처리하는 것이 가능합니다.

객체 순회 방법

자바스크립트에서 객체를 순회하는 방법은 여러 가지가 있습니다. 이번 포스트에서는 가장 일반적으로 사용되는 두 가지 방법을 알아보겠습니다: for...in 루프와 Object.keys() 메서드를 활용한 순회 방법입니다.

1. for...in 루프를 활용한 객체 순회

for...in 루프는 객체의 속성을 대상으로 반복적으로 작업을 수행하는 데 사용됩니다. 객체의 속성을 열거하기 위해 해당 루프를 사용하는 방법은 다음과 같습니다:

const obj = {
  name: 'John',
  age: 30,
  city: 'New York'
};

for (let key in obj) {
  console.log(key + ':', obj[key]);
}

위의 예제에서는 obj 객체를 순회하면서 for...in 루프를 사용하여 객체의 속성을 열거합니다. 각각의 속성에 대해 console.log()를 통해 키(key)와 값(value)을 출력하게 됩니다.

2. Object.keys() 메서드를 활용한 객체 순회

Object.keys() 메서드를 사용하면 객체의 속성 키(key)들을 배열로 반환하는 간단한 방법이 있습니다. 해당 배열을 기반으로 루프를 실행하여 객체를 순회할 수 있습니다:

const obj = {
  name: 'John',
  age: 30,
  city: 'New York'
};

const keys = Object.keys(obj);

for (let key of keys) {
  console.log(key + ':', obj[key]);
}

위의 예제에서는 Object.keys(obj)를 통해 obj의 속성 키들을 배열로 얻어옵니다. 이후 for...of 루프를 사용하여 배열을 순회하면서 각각의 속성에 대해 console.log()를 통해 키(key)와 값(value)을 출력합니다.

객체 순회의 활용

객체 순회는 다양한 상황에서 유용하게 활용될 수 있습니다. 예를 들어, 객체의 속성들을 검사하고 특정 조건에 따라 작동하는 로직을 구현할 때 객체 순회를 사용할 수 있습니다.

아래는 객체 순회를 활용하여 특정 조건을 만족하는 속성들을 필터링하여 배열로 반환하는 예제입니다:

const students = {
  1: { name: 'John', age: 21 },
  2: { name: 'Jane', age: 23 },
  3: { name: 'David', age: 20 },
  4: { name: 'Grace', age: 22 }
};

function filterStudentsByAge(students, age) {
  const filteredStudents = [];

  for (let key in students) {
    if (students[key].age === age) {
      filteredStudents.push(students[key]);
    }
  }

  return filteredStudents;
}

console.log(filterStudentsByAge(students, 22));

위의 예제에서는 filterStudentsByAge() 함수를 통해 students 객체를 순회하면서 특정 나이(age)와 일치하는 학생 객체들을 필터링하여 배열로 반환합니다. 이러한 형태로 객체 순회를 활용하면 다양한 필터링, 검색 또는 정렬 로직을 구현할 수 있습니다.

마무리

자바스크립트에서 객체 순회는 객체의 속성들을 접근하고 처리하는 데에 큰 도움을 줍니다. for...in 루프와 Object.keys() 메서드를 통해 객체를 순회하는 방법을 살펴보았으며, 다양한 상황에서 객체 순회를 활용하는 방법을 알아보았습니다.

객체 순회를 활용하여 보다 효율적이고 간결한 코드를 작성할 수 있고, 다양한 로직에서 객체의 속성들을 다뤄야 할 때 유용하게 활용할 수 있습니다. 자바스크립트에서 객체를 다룰 때 객체 순회를 적절하게 활용하는 것은 개발 작업의 효율성과 가독성을 더욱 높여줄 수 있습니다.