[英]break for of loop with recursion
我有一個需要一個節點和一個對象的函數。 較大的對象可能具有children
對象的屬性,並且是一組相似形狀的節點。 該功能在頂層,然后如果有子級,則逐一瀏覽直到找到匹配的節點。
我的console.log
語句總是記錄一些內容。 但是該功能保持運行。 我相信這並沒有打破看着其余孩子的循環。
找到匹配項后,我想完全退出此功能的什么原因?
findNodeInStateHierarchy = (node, stateHierarchyNode) => {
if (node.id === stateHierarchyNode.id) {
console.log(stateHierarchyNode);
return stateHierarchyNode;
}
else {
if (stateHierarchyNode.children) {
for (let child of stateHierarchyNode.children) {
this.findNodeInStateHierarchy(node, child);
}
}
}
}
findNodeInStateHierarchy = (node, stateHierarchyNode) => {
if (node.id === stateHierarchyNode.id) {
console.log(stateHierarchyNode);
return stateHierarchyNode;
} else {
if (stateHierarchyNode.children) {
for (let child of stateHierarchyNode.children) {
const result = this.findNodeInStateHierarchy(node, child);
if (result !== null) {
return result;
}
}
}
return null;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.