我有一個遞歸方法,它將一個鍵作爲輸入並遍歷一個對象數組以獲取該鍵的值。Typescript/Javascript:獲取鍵值的遞歸方法
findKeyFun(passedKey: string): string {
let tempVal = null;
for(let i=0; i< this.valueArray.length; i++) {
if(this.valueArray[i].children) {
for(let j=0; j< this.valueArray[i].children.length; j++) {
if(this.valueArray[i].children[j].children) {
for(let k=0; k<this.valueArray[i].children[j].children.length; k++){
if(this.valueArray[i].children[j].children[k].key==passedKey){
tempVal = this.valueArray[i].children[j].children[k].value;
return tempVal;
}
}
}
}
}
}
return tempVal;
}
但是有很多for
迴路參與這段代碼。無論密鑰的位置如何,我怎樣才能製作這種遞歸方法?
你的代碼有點難以遵循。你的數據的結構是什麼? – aeid
@aeid這是一個對象數組,每個對象可能有也可能沒有子/孫子 – Protagonist
遞歸會發現,但'array.reduce'好得多我認爲 – aeid