반복 검색 트리 구조 및 검색 값 반환
let options=
[
{"value":1,"label":" ","children":[
{"value":68,"label":" ","children":[{"value":681,"label":"--- --- ","children":null}]},
{"value":69,"label":" ","children":[{"value":691,"label":"--- ---","children":null}]},
{"value":70,"label":" ","children":[{"value":701,"label":"--- ---","children":null}]}]
},
{"value":71,"label":" ","children":[
{"value":72,"label":" ","children":[{"value":721,"label":"--- ---","children":null}]},
{"value":73,"label":" ","children":[{"value":731,"label":"--- ---","children":null}]},
{"value":74,"label":" ","children":[{"value":741,"label":"--- ---","children":null}]}]
},
{"value":75,"label":" ","children":[
{"value":76,"label":" ","children":[{"value":761,"label":"--- ---","children":null}]},
{"value":77,"label":" ","children":[{"value":771,"label":"--- ---","children":null}]},
{"value":78,"label":" ","children":[{"value":781,"label":"--- ---","children":null}]}]
}
]
예를 들어 69를 제시하면 우리는'강소성 삼갑', 78을 제시하면'절강성 지역사회 병원'으로 돌아가야 한다.
기본적인 사고방식은 돌아가는 사상을 이용하여 이리저리 찾는 것이다.우리가 검색한 것은 모두 수조이기 때문에 첫 번째 단계는 1층 수조를 순환하여 1층에 우리가 찾아야 할 라벨이 있는지 판단하고 찾으면 찾기를 종료한다.만약 찾지 못하면children이 비어 있는지, 비어 있지 않은지 판단하여 깊이 찾습니다. 이때 원래 함수를 반복해서 호출합니다. 비어 있으면 이 부분은 우리가 찾는 값이 없으면 계속 순환합니다.
이상은 기본적인 사고방식이다. 우리가 전체 나무 구조를 편리하게 해야 할 때 아마도 이런 사고방식이다.다만 우리는 이번에 값을 되돌려야 한다.코드부터 봐.
var lev = null;
function searchLabel(voptions,dirOpt) {
for (let i = 0; i < voptions.length; i++) {
if(lev !== null){
break //
}
console.log(i);
console.log(voptions[i]);
if (voptions[i].value === dirOpt) {
console.log(voptions[i].value)
let label = voptions[i].label;
console.log(label)
lev = label //
} else if (isNotEmptyUtils(voptions[i].children)) {//
searchLabel(voptions[i].children, dirOpt);
} else {
continue
}
}
return lev
}
let label=searchLabel(options,directoryOption);
이상의 갱점은 반환 수치입니다.처음에 나는 값을 얻은 후에searchLabel () 로 돌아가기 전에return을 추가해서 다른 지점의 순환을 할 수 없게 되었다.그래서 먼저 찾은 값을 부여하고 마지막에return을 진행합니다.값을 찾으면 label 값이 비어 있지 않고 프로그램도 순환을 벗어납니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.