在jquery中查找数组的长度(大小)

我想我疯了。 我有一个简单的问题,我正因为某种原因而苦苦挣扎。

为什么下面返回'undefined'?

var testvar={}; testvar[1]=2; testvar[2]=3; alert(testvar.length); 

编辑我最初键入testvar [1] .length。 我知道这是一个错误。 我的意思是testvar.length

因为2不是数组,所以它是一个数字。 数字没有长度。

也许你打算写testvar.length ; 这也是未定义的,因为对象(使用{ ... }符号创build)没有长度。

只有数组有长度属性:

 var testvar = [ ]; testvar[1] = 2; testvar[2] = 3; alert(testvar.length); // 3 

请注意,JavaScript数组索引从0开始,不一定稀疏 (因此为什么结果是3而不是2 – 请参阅此答案解释什么时候数组将稀疏,什么时候不会)。

testvar [1]是该数组索引的值,它是数字2.数字没有length属性,并且您正在检查未定义的2.length。 如果你想要的数组长度只是检查testvar.length

整数没有方法长度。 尝试string

 var testvar={}; testvar[1]="2"; alert(testvar[1].length);