주, 도시 및 지구의 3 단계 트리 구조 데이터를 평평하게하고 선택한 상태에 따라 결과를 간소화하는 방법은 무엇입니까?
지방, 도시 및 지구의 3 단계 트리 구조 데이터를 평평하게하고 선택된 상태에 따라 결과를 간소화합니다.
이 기사는 지방, 도시 및 지구의 3 단계 트리 구조 데이터를 평평하게하는 방법을 소개하고 선택한 상태에 따라 결과를 간소화하는 방법을 소개합니다. 원래 데이터는 지방, 도시, 지구 및 카운티 정보 및 선택된 상태를 포함한 트리 구조를 채택합니다 ( checked: 1
선택). 목표는 필요한 영역 코드 및 계층 구조 정보 만 포함하는 평평한 구조를 생성하는 것입니다.
원본 데이터 예 :
[의 뜻 { "코드": "110000", "가치": "베이징", "확인": "1", "어린이들": [ { "코드": "110100", "가치": "베이징", "확인": "1", "어린이들": [ { "Code": "110101", "Value": "Dongcheng District", "Checked": "1"}, { "Code": "110102", "Value": "Xicheng District", "Checked": "1"} ]] } ]] }, { "코드": "120000", "가치": "Tianjin City", "확인": "1", "어린이들": [ { "코드": "120100", "가치": "Tianjin City", "확인": "1", "어린이들": [ { "Code": "120101", "Value": "Heping District", "Checked": "0"}, { "Code": "120102", "Value": "Hedong District", "Checked": "1"} ]] } ]] } ]]
대상 플랫 구조 :
모든 3 차 영역이 선택된 경우, 첫 번째 수준 및 제 2 레벨 영역 코드 만 유지됩니다. 모든 3 차 지역이 선택된 경우, 첫 번째 수준의 영역 코드 만 유지됩니다. 3 단계 영역 만 선택되면 첫 번째 레벨, 2 차 및 3 차 영역 코드 만 유지됩니다.
[의 뜻 { "ProvinceareAld": "110000", "CityAreald": Null, "CountryAreald": Null, "실제 공관": "1" }, { "ProvinceareAld": "120000", "CityAreald": "120100", "CountryAreald": "120102", "실제 상대 레벨": "3" } ]]
자바 스크립트 기능 구현 :
다음 JavaScript 함수 flattenData
데이터 평판을 구현합니다.
함수 flattendata (data) { const result = []; 함수 프로세스 노드 (노드, 부모) { if (node.checked === "1") { const 항목 = { Provinceareald : 부모? parent.code : node.code, Cityareald : Null, Countryareald : Null, realeareaLevel : '1' }; if (node.children) { const allchildrenchecked = node.children.every (child => child.checked === "1"); if (AllChildrenChecked) { item.actualarealevel = node.children [0] .Children? '2': '1'; if (node.children [0] .Children) { item.cityareald = node.children [0] .code; } } 또 다른 { item.actualAreaLevel = '2'; item.cityAreald = node.code; for (node.children의 const child) { ProcessNode (자식, 항목); } 반품; } } result.push (항목); } else if (node.children) { for (node.children의 const child) { ProcessNode (자식, 노드); } } } for (data의 const 노드) { 프로세스 노드 (노드); } 반환 결과; } // 예제 사용법 const data = [/ * ... 원시 데이터 ... */]; const flatteneddata = flattendata (데이터); Console.log (flatteneddata);
이 기능은 재귀 적 방법을 사용하여 트리 구조를 처리하고 선택된 상태 및 하위 노드 선택에 따라 actualAreaLevel
및 cityAreald
및 countryAreald
필드의 값을 동적으로 조정하고 마지막으로 얇은 플랫 데이터를 생성합니다. 코드는 또한 최적화되어 불필요한 기능 중첩을 줄이고 가독성과 효율성을 향상시킵니다.
위 내용은 주, 도시 및 지구의 3 단계 트리 구조 데이터를 평평하게하고 선택한 상태에 따라 결과를 간소화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

기사는 HTML5 크로스 브라우저 호환성을 보장하기위한 모범 사례에 대해 논의하고 기능 감지, 점진적 향상 및 테스트 방법에 중점을 둡니다.

이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

이 기사는 모바일 장치의 반응 형 웹 디자인에 필수적인 Viewport Meta Tag에 대해 설명합니다. 적절한 사용이 최적의 컨텐츠 스케일링 및 사용자 상호 작용을 보장하는 방법을 설명하는 반면, 오용은 설계 및 접근성 문제로 이어질 수 있습니다.

이 기사는 & lt; iframe & gt; 외부 컨텐츠를 웹 페이지, 공통 용도, 보안 위험 및 객체 태그 및 API와 같은 대안을 포함시키는 태그의 목적.

GiteEpages 정적 웹 사이트 배포 실패 : 404 오류 문제 해결 및 해결시 Gitee ...
