繁体   English   中英

根据对象数组中的键删除对象

[英]Remove object based on a key from array of objects

下面是json:

var data= {
    'A' : {
        'Total' : 123,
        'Cricket' : 76,
        'Football' : 12,
        'Hockey' : 1,
        'None' : 10
    },
    'B' : {
        'Total': 123,
        'Cricket': 76,
        'Football': 12,
        'Hockey': 1,
        'None': 10
    },
    'C' : {
        'Total': 0,
        'Cricket': 76,
        'Football': 12,
        'Hockey': 1,
        'None': 10
    }   
}

我想删除总值为零的C,

$.each(json, function (key, value) {
    if (value.Total === 0) {
        //delete
    }
});

我尝试了各种方法,但没有工作

使用delete关键字删除对象中的属性。

 var json = { 'A': { 'Total': 123, 'Cricket': 76, 'Football': 12, 'Hockey': 1, 'None': 10 }, 'B': { 'Total': 123, 'Cricket': 76, 'Football': 12, 'Hockey': 1, 'None': 10 }, 'C': { 'Total': 0, 'Cricket': 76, 'Football': 12, 'Hockey': 1, 'None': 10 } } $.each(json, function(key, value) { if (value.Total === 0) { delete json[key]; } }); console.log(json); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

$(function(){


var data=    {
        'A' : {
            'Total' : 123,
            'Cricket' : 76,
            'Football' : 12,
            'Hockey' : 1,
            'None' : 10

        },
    'B' : {
        'Total': 123,
        'Cricket': 76,
        'Football': 12,
        'Hockey': 1,
        'None': 10
    },
    'C' : {
        'Total': 0,
        'Cricket': 76,
        'Football': 12,
        'Hockey': 1,
        'None': 10
    }   
}

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

              if (value.Total === 0) {
                 delete data[key];
              }
});

console.log(data);

});

小提琴: http//jsfiddle.net/ef3Le1en/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM