【发布时间】:2015-03-24 13:30:25
【问题描述】:
这是我可能在这里遗漏的非常基本的东西,但直到现在我还没有看到这样的结果。
我有一个 for 循环,其中 options.headers.length 是 3。在 for 循环中,我正在动态创建表头。理想情况下,这个循环应该为0 1 and 2 运行三次,但是当我打印索引时,它正在打印0,1,2,clean and remove。我还没有看到clean and remove 作为索引。我知道这些信息还不够,但如果您有任何线索,请提出建议。在调试之后,我也得出了结论。
for (index in options.headers)
【问题讨论】:
-
对于数组,您应该使用简单的
for循环,而不是for in循环:类似于for (var index = 0, len = options.headers.length; index < len; i++) -
clean 和 remove 是属性.. 当您使用 (for in) 时,它假定 option.header 作为一个对象,它将获取与其对象相关的所有键。您必须改用@Andy 解决方案。
-
来自 MDN:[[for..in] 遍历对象及其原型链的所有可枚举属性](developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/…)
-
没有人缓存他们数组的长度了吗:/
-
for in 循环如何在一个页面上工作而在另一个页面上不起作用。在一个页面中它迭代了 3 次,另一个迭代了 5 次。应该是一致的
标签: javascript jquery for-loop