function getAim(items, aim) {
if (items == null)
return;
for (var i = 0; i < items.length; i++) {
if (items[i].id == aim && items[i].childrens != null && items[i].childrens.length > 0) {
return items[i]; //这行执行后i还会再++,已经返回了,循环还在继续。为什么?
}
else if (items[i].childrens != null && items[i].childrens.length > 0) {
getAim(items[i].childrens, aim);
}
}
}
这个方法是递归找子节点中id = aim的那个节点。 return items[i] 这行代码找到后返回,返回后程序还是执行了i++,知道循环完毕,我都return了,怎么还会执行啊。怎么改呢?
繁花如伊
相关分类