>  기사  >  웹 프론트엔드  >  한 줄의 JS 코드로 중첩된 개체를 평면화하는 방법은 무엇입니까?

한 줄의 JS 코드로 중첩된 개체를 평면화하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-22 13:17:03206검색

How to Flatten Nested Objects with a Single Line of JS Code?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.