即使我们可以使用array.length
获取数组长度,但在下面的情况下可能会出错..
var a = [2, 4, "bang", undefined, NaN, 5];
a.length = 0;
document.write(a.length);
如果数组已定义其他属性,则使用
for in
进行计数也可能出错。
那么有没有办法动态获取数组长度?
答案 0 :(得分:2)
调用
a.length = 0;
删除数组中的所有元素
console.log(a[2]) // undefined
因此,您的数组不再包含任何元素。
还要记住,将不可强制化的属性设置为整数(a.something = 'blah'
)不会影响length属性。
答案 1 :(得分:1)
如果你这样做,a.length = 0
,它将删除所有数组元素,长度将为0.它是否显示任何其他值?
答案 2 :(得分:1)
a.length
始终是正确的。 a.length = 0;
TRUNCATES来自数组的所有数据。