【发布时间】:2015-01-29 21:39:59
【问题描述】:
在我添加 enyo.js 之后,之前运行的代码现在在 for 循环中失败。我怀疑当我使用for(var ls in list) 时,即使长度为0,它也会循环。当我调试时,我发现它正在考虑将“findIndex”作为列表中的值之一并进入循环。我有几个地方使用 for with in,我想找到一种过滤掉“findIndex”或任何无效索引的最佳方法,以便只有有效元素进入循环
for(var ls in list)
{
var lin = list[ls].rb ;
}
【问题讨论】:
-
不要那样做;使用常规 for 循环。
-
也许您可以使用这样的循环:
for(var i = 0; i < list.length; i++)。 -
list是一个对象数组吗?如果是数组,不要使用for...in。一个常规的for循环就足够了。否则hasOwnProperty应该会有所帮助。 -
在使用 for-in 循环时始终使用 hasOwnProprerty() 过滤器。
标签: javascript enyo