[javascript] 객체 순회 중 조건에 따른 동작 수행하기

자바스크립트에서 객체를 순회하면서 특정 조건을 만족할 때에만 특정 동작을 수행하는 방법을 알아봅시다.

객체 순회하기

for...in 문을 사용하여 객체를 순회할 수 있습니다. 예를 들어, 다음과 같은 객체가 있다고 가정해봅시다.

let person = {
  name: 'John',
  age: 30,
  gender: 'male',
  isAdmin: true
};

이제 위의 객체를 순회해보겠습니다.

for (let key in person) {
  console.log(key, person[key]);
}

이 코드를 실행하면 각 프로퍼티의 키와 값을 순차적으로 출력할 것입니다.

조건에 따른 동작 수행하기

특정 조건을 만족할 때에만 동작을 수행하려면 if 문을 사용하여 조건을 확인하면 됩니다.

for (let key in person) {
  if (person[key] === 'male') {
    console.log(`${key} is ${person[key]}`);
  }
}

위의 코드는 gender 프로퍼티가 'male' 일때에만 출력합니다.

Object.keys 및 forEach 메서드 활용하기

객체의 키를 배열로 반환하고, 이를 순회하면서 동작을 수행할 수도 있습니다. 이때에는 Object.keys 메서드를 사용하여 객체의 모든 키를 배열로 반환하고, forEach 메서드를 사용하여 각 키에 대해 동작을 수행할 수 있습니다.

Object.keys(person).forEach(key => {
  if (person[key] === 'male') {
    console.log(`${key} is ${person[key]}`);
  }
});

이 방법 또한 같은 결과를 얻을 수 있습니다.

이상으로 자바스크립트 객체를 순회하여 특정 조건을 만족할 때에만 동작을 수행하는 방법에 대해 알아보았습니다.

참고 문서: MDN Web Docs - for…in, MDN Web Docs - Object.keys