我这个循环写错了么?

2020-06-10 18:42:08 +08:00
 wunonglin

https://stackblitz.com/edit/js-rtz3bc

为什么国家和省份能拿到,城市拿不到?

1872 次点击
所在节点    JavaScript
3 条回复
kuoruan
2020-06-10 18:56:27 +08:00
```
function filter(items, id){
let data

for (const item of items){
if (item.id === id){
data = item
break
}

if (item.child && item.child.length > 0){
data = filter(item.child, id)

if (data) {
break
}
}
}

return data
}
```
shintendo
2020-06-10 19:00:11 +08:00
拿到城市以后没有 break,所以 data 又被后面的循环覆盖了
wunonglin
2020-06-10 19:00:21 +08:00
@kuoruan 多谢。第二个判断赋值后没中断👴🏻枯了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/680430

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX