소개
이 랩에서는 dig라는 함수를 사용하여 JavaScript 객체 내의 중첩된 값을 가져오는 방법을 살펴봅니다. 이 함수는 복잡하게 중첩된 객체에서 특정 값을 검색하는 데 사용될 수 있으며, 필요한 정보에 더 쉽게 접근할 수 있도록 해줍니다. 이 랩을 통해 in 연산자와 reduce() 메서드를 사용하여 중첩된 객체를 탐색하고 대상 값을 찾는 방법을 배우게 됩니다.
JSON 객체에서 중첩된 값 가져오는 방법
주어진 키를 기반으로 중첩된 JSON 객체에서 대상 값을 검색하려면 다음 단계를 따르세요.
- 터미널/SSH 를 열고
node를 입력하여 코딩 연습을 시작합니다. in연산자를 사용하여obj에target이 존재하는지 확인합니다.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 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.