jq获取对象的长度_在jQuery中查找数组的长度(大小)

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

我想我快要疯了。 我有一个简单的问题,出于某种原因,我正在苦苦挣扎。

为什么下面的返回“ undefined”?

var testvar={};

testvar[1]=2;

testvar[2]=3;

alert(testvar.length);

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

Ed. asked 2020-06-30T21:50:30Z

7个解决方案

85 votes

因为0不是数组,所以是数字。 数字没有长度。

也许您打算写0; 这也是不确定的,因为对象(使用{ ... }符号创建)没有长度。

只有数组具有length属性:

var testvar = [ ];

testvar[1] = 2;

testvar[2] = 3;

alert(testvar.length); // 3

请注意,Javascript数组从0开始索引,并且不一定是稀疏的(因此,结果为3而不是2的原因-请参见此答案以了解何时数组将稀疏以及什么时候不稀疏)。

Cameron answered 2020-06-30T21:50:58Z

4 votes

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

mVChr answered 2020-06-30T21:51:18Z

2 votes

整数没有方法长度。 尝试字符串

var testvar={};

testvar[1]="2";

alert(testvar[1].length);

Dim_K answered 2020-06-30T21:51:38Z

0 votes

如果length未定义,则可以使用:

function count(array){

var c = 0;

for(i in array) // in returns key, not object

if(array[i] != undefined)

c++;

return c;

}

var total = count(array);

RafaSashi answered 2020-06-30T21:51:57Z

0 votes

var mode = [];

$("input[name='mode[]']:checked").each(function(i) {

mode.push($(this).val());

})

if(mode.length == 0)

{

alert('Please select mode!')

};

kush answered 2020-06-30T21:52:13Z

-1 votes

var array=[];

array.push(array); //insert the array value using push methods.

for (var i = 0; i < array.length; i++) {

nameList += "" + array[i] + ""; //display the array value.

}

$("id/class").html(array.length); //find the array length.

Tanmaya answered 2020-06-30T21:52:28Z

-2 votes

obj={};

$.each(obj, function (key, value) {

console.log(key+ ' : ' + value); //push the object value

});

for (var i in obj) {

nameList += "" + obj[i] + "";//display the object value

}

$("id/class").html($(nameList).length);//display the length of

object.

Tanmaya answered 2020-06-30T21:52:44Z

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值