为什么 chrome 开发者工具显示 0 数组长度(第一行 Array[0]),即使其中总共有 9 个对象?
图像的第一行应该像Array[9],为什么它显示Array[0]
在第二个图像中,数组有 13 个对象,因此显示的是 Array[13] 而不是 Array[0]
最佳答案
看起来您在将对象添加到数组之前正在记录数组的输出。类似的东西
var arr = [];
console.log(arr);
arr.push({}); //pushing blank obj
在这里,执行此代码将产生 Array[0]
,但它确实保存了您的对象,并且将返回 length
为 1
如果你尝试arr.length
。
如果您有某种将项目推送到数组的异步函数,也可能会发生这种情况,这将导致相同的结果。例如,
var a = [];
setTimeout(function(){
a.push({});
a.push({});
}, 1000);
console.log(a);
我认为,这种行为是故意的,Chrome 想要显示最初,您的数组是空的,后来,项目在运行时推送。
关于javascript - Chrome开发者工具数组长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41542133/