One-Liner를 사용하여 중첩 객체 평면화
중첩 객체 평면화는 프로그래밍에서 일반적인 작업이며 최신 JavaScript를 사용하면 더욱 간단해집니다. . 다음은 스프레드 연산자와 Object.할당을 사용하는 한 줄 솔루션입니다:
Object.assign({}, ...function _flatten(o) { return [].concat(...Object.keys(o).map(k => typeof o[k] === 'object' ? _flatten(o[k]) : ({[k]: o[k]})))}(yourObject))
작동 방식:
이 코드는 재귀 함수인 _flaten을 사용합니다. 이는 중첩된 객체를 순회하여 단일 속성 객체의 배열을 생성합니다. 각 속성 이름은 해당 값에 매핑되며, 값이 다른 개체인 경우 함수는 해당 개체로 재귀됩니다.
확산 연산자(...)는 _Flaten으로 생성된 개체 배열을 평면화하는 데 사용됩니다. . 그런 다음 결과 배열은 모든 객체를 하나의 평면화된 객체로 결합하는 Object.ass로 전달됩니다.
입력 및 출력 예:
다음 중첩을 고려하세요. 개체:
{ a: 2, b: { c: 3 } }
이 개체에 제공된 코드를 실행하면 평면화된 결과가 생성됩니다.
{ a: 2, c: 3 }
참고:
이 솔루션은 다음을 사용합니다. ES6 기능이므로 이전 JavaScript 환경을 사용하는 경우 조정이 필요할 수 있습니다.
위 내용은 한 줄의 JS 코드로 중첩된 개체를 평면화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!