[javascript] 객체 순회와 재귀 함수의 조합 사용하기

자바스크립트에서 객체를 순회하고 특정 행동을 취하기 위해서 재귀 함수를 사용하는 것은 매우 일반적입니다.

재귀 함수는 객체 내의 모든 요소를 검사하거나 특정 조건을 만족하는 요소를 찾는 데에 유용합니다. 여기에는 객체의 모든 값을 합산하거나, 특정 키에 해당하는 값을 찾는 등의 작업이 포함됩니다.

다음은 객체를 순회하고 재귀 함수를 사용하여 특정 작업을 수행하는 간단한 예제입니다.

const obj = {
  a: 1,
  b: {
    c: 2,
    d: { e: 3 }
  }
};

function processObject(obj) {
  for (const key in obj) {
    if (typeof obj[key] === 'object') {
        processObject(obj[key]); // 재귀 호출
    } else {
        console.log(key, obj[key]); // 특정 작업 수행 (여기서는 콘솔에 로깅)
    }
  }
}

processObject(obj);

위의 코드에서 processObject 함수는 주어진 객체를 순회하여 모든 키-값 쌍을 콘솔에 로깅합니다. 재귀적으로 동작하므로 중첩된 객체에 대해서도 동작합니다.

재귀 함수를 사용할 때, 아래 사항을 고려해야 합니다:

이와 같은 사항을 고려하여 재귀 함수를 작성하면, 객체를 효과적으로 순회하고 작업을 수행할 수 있습니다.

참고 자료