【发布时间】:2011-06-02 10:51:57
【问题描述】:
我有一些示例代码:
var array = [];
array[0] = {id:0};
array[1] = {id:1};
array[2] = {id:2};
现在数组看起来像
[Object{id=0}, Object{id=1}, Object{id=2}]
我使用拼接:
array.splice(0,1);
我们有:
[Object{id=1}, Object{id=2}]
当我尝试 for 或 for ... in 时,长度将仅为 2,我无法以正常方式对其进行迭代。循环的结果是:
undefined
Object{id:1}
在第一种情况下(当我们使用 for 时)我理解它为什么不起作用,但 for ... in 应该返回索引 1 和 2 而不是 0 和 1...
谁能解释我做错了什么?
【问题讨论】:
-
当然可以。只需从 0 迭代到 array.length(即 1)...
for (var i = 0; i < array.length; i++) { ... -
您发布的代码很好(请参阅我的代码工作示例:jsfiddle.net/PNeRk)。你能发布你的循环代码吗?
标签: javascript arrays for-loop