$.each(value , function (k, v){//data
$.each(v , function (key, data){//conversations/contacts
console.log(data.length);//undefined
});
});
console.log(data);//logs out below:
Object { 0={...}, 1={...}, totalConversations="3"}
目前有两个对象,所以它应该返回2,但它表示未定义。
我了解到只有数组有长度并且要获得对象长度,我试过这个:
console.log(Object.keys(data).length);
但这给了我3.我不明白它是如何得到3因为只有两个对象。那么,获取数据长度的正确方法是什么?
答案 0 :(得分:1)
console.log(Object.keys(data).length);//returns 3
Object.keys()基本上返回包含对象键的数组,它是[" 0"," 1"," totalConversations"]
您可以这样做:
var data={"0":{"name":"xt"},"1":{"name":"jjdjdjd"},"noOFcount":"4"}
var count=0;
$.each(data , function (k, v){//data
if(typeof(v)==="object"){ count++;
}
});
console.log(count); // returns 2