gpt4 book ai didi

javascript - 对于迭代,元素未定义

转载 作者:行者123 更新时间:2023-11-29 10:00:16 25 4
gpt4 key购买 nike

我有这个代码:

for(var i in this.units)
{
if(this.units[i].x==att.x && this.units[i].y==att.y){}
//... some more code
}

有时,随机地,我得到一个错误 this.units[i] is undefined。

有人知道这是怎么可能的吗?

最佳答案

循环符号

for (var i in this.units)

为您提供在“单位”对象中定义的属性。其中一些可能没有值(value),例如,如果某处某事已经完成:

this.units.balloon = null;

使用“in”循环遍历对象属性是相当冒险的,除非您真的知道您的对象发生了什么。如果您的对象实际上是一个数组,那么您绝对不想这样做 - 您应该使用数字索引和带有数字变量的普通循环。 (即便如此,也可能有空条目!)

关于javascript - 对于迭代,元素未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2409705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com