[javascript] 객체 순회 후 결과 캐싱하기

자바스크립트에서 객체를 순회하면서 연산 결과를 캐싱하고 싶을 때가 있습니다. 이를 위해 객체 순회 후 결과를 캐싱하는 방법에 대해 알아보겠습니다.

객체 순회

먼저, for…in 루프Object.keys() 메서드를 사용하여 객체를 순회할 수 있습니다. 이를 통해 객체의 각 속성에 접근할 수 있습니다.

예를 들어, 아래와 같이 객체를 순회할 수 있습니다.

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

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

결과 캐싱

객체를 순회하면서 연산 결과를 캐싱하기 위해 Map 객체객체 프로퍼티를 활용할 수 있습니다.

Map 객체를 사용하는 예시는 아래와 같습니다.

const obj = {a: 1, b: 2, c: 3};
const cache = new Map();

for (let key in obj) {
  if (!cache.has(key)) {
    const result = obj[key] * 2; // 연산 예시
    cache.set(key, result);
  }
  console.log(key, cache.get(key));
}

또 다른 방법으로 객체 프로퍼티를 사용하는 예시는 아래와 같습니다.

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

for (let key in obj) {
  if (!cache[key]) {
    const result = obj[key] * 2; // 연산 예시
    cache[key] = result;
  }
  console.log(key, cache[key]);
}

마무리

객체를 순회하면서 연산 결과를 캐싱하는 방법은 객체의 속성을 효율적으로 처리할 수 있는 중요한 기술입니다. 이를 통해 반복적인 연산을 줄이고 성능을 향상시킬 수 있습니다.

이상으로 객체 순회 후 결과 캐싱하기에 대해 알아보았습니다.

참고: MDN Web Docs - JavaScript 객체