문제 이해
종종 우리는 JavaScript 애플리케이션에서 복잡한 데이터 구조를 접하게 됩니다. 이러한 구조는 깊게 중첩된 개체일 수 있으므로 직접 조작하거나 처리하기가 어렵습니다. 일반적인 작업 중 하나는 이러한 객체를 평면화하여 모든 속성이 최상위 수준에 있는 더 간단한 구조로 변환하는 것입니다.
이 블로그에서는 깊게 중첩된 개체를 효과적으로 평면화하는 JavaScript 코드 조각을 자세히 살펴보겠습니다. 코드를 한 줄씩 분석하여 논리와 기능을 설명하겠습니다.
코드 분석
let user = { name : 'Chiranjit', address : { personal : { city: 'Kolkata', state: 'West Bengal' }, office : { city: 'Bengaluru', state: 'Karnataka', area: { landmark:'Waterside', post: 433101 } } } } var finalObj = {} const flatObjFn = (obj, parent) => { for(let key in obj){ if(typeof obj[key] === 'object'){ flatObjFn(obj[key], parent '_' key) }else{ finalObj[parent '_' key] = obj[key] } } } flatObjFn(user, 'user'); console.log(finalObj);
한 줄씩 설명
출력 개체 초기화:
평탄화 기능 정의:
객체 속성을 통한 반복:
중첩 객체 처리:
기본 값 처리:
평탄화 기능 호출:
평탄화된 객체 기록:
작동 방식
flatObjFn 함수는 객체를 재귀적으로 탐색하여 중첩된 구조를 플랫 객체로 분해합니다. 상위 매개변수는 객체 계층 구조를 추적하여 함수가 출력 객체에 의미 있는 속성 이름을 생성할 수 있도록 합니다.
트위터나 링크드인으로 소통하자
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3