【发布时间】:2012-11-30 15:07:10
【问题描述】:
我有一个数组,其中一些项目将被删除;但是一些循环仍在它们上运行,所以我想简单地跳过我删除对象的地方
我知道 for(i in array) 的语法应该这样做,因为它在索引上迭代,但是我应该如何删除我的项目呢?因为当我执行 array[4] = null 时,我的 for 只是不在乎并继续尝试使用 4 处的值。
我也尝试检查是否 !null 但没有成功... 谢谢
【问题讨论】:
-
for in用于枚举对象属性。您应该使用标准的for循环来迭代数组。欲了解更多信息,请参阅stackoverflow.com/questions/5263847/… -
如果您真的需要遍历稀疏数组,请使用
for(i in array) { if(!isNaN(+i)) ... }。 (额外提示:您可能不需要遍历稀疏数组。这仅适用于您有一个具有 hugely 远距离索引的数组的情况,例如5和10000000是仅填充索引。) -
正确删除数组元素:stackoverflow.com/questions/500606/….
标签: javascript arrays foreach iteration