检测对象是否为空

时间:2016-09-22 10:02:34

标签: jquery

我试图检测一个对象是否有数据,但这似乎不起作用:

if(item.sellers.length != 0) {

完整代码:

.each(response, function(i, item) {
       if(item.sellers.length != 0) {
            $.each(item.sellers, function(index, value) {
              $('#modal-table tbody').append("<tr><td></td><td><strong>Seller:</strong></td><td>" + index + "</td><td>"+ value + "</td>");
            });
       });

json如下:

response = 
    {
        "5": {
            "name": "surgeon bueno",
            "country": "Spain",
            "antiquity": "renewal",
            "amount": "2686.97 USD",
            "sellers": {
                "Frank": "2690.58 USD",
                "Bob": "1690.58 USD",
            }
        },
        "11": {
            "name": "Alex Lloyd",
            "country": "American Samoa",
            "antiquity": "new client",
            "amount": "0.0 USD"
        },
        "12": {
            "name": "alex lloyd",
            "country": "Aruba",
            "antiquity": "new client",
            "amount": "0.0 USD"
        }
    }

4 个答案:

答案 0 :(得分:3)

使用hasOwnProperty

if(item.hasOwnProperty("sellers")) {
    // each loop
}

答案 1 :(得分:0)

if (item.sellers.length != 0) {

您可以直接在if()

中使用对象
if (item && item.sellers) {
    // write your functionality
}

答案 2 :(得分:0)

在您的情况下检查每个对象:

if(item!=null && item.sellers!=null && item.sellers.length != 0)
{
}

答案 3 :(得分:0)

在这个问题上,我发布了一个简单的解决方案来检查jquery对象是否有任何子节点,这可以使用javascript函数进行检查 这是代码

var x=new Object();    
x.name='Scott';    
console.log(x);    
console.log(isempty(x));    
console.log(x.name); 

function isempty(obj)    
{    
  if(Object.getOwnPropertyNames(x).length===0)
    return true
  else 
    return false
}