无法获取对象

时间:2016-07-27 10:14:45

标签: jquery

$.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因为只有两个对象。那么,获取数据长度的正确方法是什么?

1 个答案:

答案 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