객체 내 중첩된 값 가져오기

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 dig라는 함수를 사용하여 JavaScript 객체 내의 중첩된 값을 가져오는 방법을 살펴봅니다. 이 함수는 복잡하게 중첩된 객체에서 특정 값을 검색하는 데 사용될 수 있으며, 필요한 정보에 더 쉽게 접근할 수 있도록 해줍니다. 이 랩을 통해 in 연산자와 reduce() 메서드를 사용하여 중첩된 객체를 탐색하고 대상 값을 찾는 방법을 배우게 됩니다.

JSON 객체에서 중첩된 값 가져오는 방법

주어진 키를 기반으로 중첩된 JSON 객체에서 대상 값을 검색하려면 다음 단계를 따르세요.

  • 터미널/SSH 를 열고 node를 입력하여 코딩 연습을 시작합니다.
  • in 연산자를 사용하여 objtarget이 존재하는지 확인합니다.
  • target이 발견되면 obj에서 해당 값을 반환합니다.
  • target이 발견되지 않으면 Object.values()Array.prototype.reduce()를 사용하여 첫 번째 일치하는 키/값 쌍이 발견될 때까지 각 중첩 객체에 대해 dig 함수를 재귀적으로 호출합니다.

다음은 dig 함수의 코드입니다.

const dig = (obj, target) =>
  target in obj
    ? obj[target]
    : Object.values(obj).reduce((acc, val) => {
        if (acc !== undefined) return acc;
        if (typeof val === "object") return dig(val, target);
      }, undefined);

dig 함수를 사용하려면 먼저 다음과 같이 중첩된 레벨이 있는 JSON 객체를 생성합니다.

const data = {
  level1: {
    level2: {
      level3: "some data"
    }
  }
};

그런 다음 JSON 객체와 원하는 키를 사용하여 dig 함수를 호출합니다.

dig(data, "level3"); // 'some data'
dig(data, "level4"); // undefined

이 예제는 data 객체에서 level3 키의 값을 반환하고 존재하지 않는 level4 키에 대해 undefined를 반환합니다.

요약

축하합니다! 객체에서 중첩된 값 가져오기 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.