今天遇到一个简单的问题,以为有必要记录下来
-
问题描述
删除容器里所有的子对象,代码如下
for (var i = 0; i < this.numChildren; i++) {
let child = this.getChildAt(i);
this.removeChild(child)
}
-
结果很郁闷
容器的子对象总是删不干净
-
原因就是
这样一边遍历,一边删除元素,导致原来的数组元素减少,元素下标改变了(减一了),代码修正了
for (var i = 0; i < this.numChildren; i++) {
let child = this.getChildAt(i--);//修改了这里哟
this.removeChild(child)
}
- 总结教训
这个问题实在不该犯,记得刚入门学C语言的时候,这种问题都是小儿科的问题。