3

Below is the 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
    }   
}

I want to remove C in which value of total is zero,,

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

I have tried various ways but didnt work

SilverNak
  • 3,283
  • 4
  • 28
  • 44
Dot Net Dev 19
  • 345
  • 2
  • 12
  • use `delete json[key]`. It will delete that object. – Shubham Jun 28 '17 at 05:50
  • really? `delete[key]` ? are you sure of that syntax? – Jaromanda X Jun 28 '17 at 05:50
  • 1
    by the way, that's not JSON, that's just a javascript object, if it were JSON, you'd have to JSON.parse it before doing anything more – Jaromanda X Jun 28 '17 at 05:51
  • 1
    More so, it's not an array of objects either. – m1kael Jun 28 '17 at 05:52
  • Looks like a duplicate of [https://stackoverflow.com/questions/208105/how-do-i-remove-a-property-from-a-javascript-object](https://stackoverflow.com/questions/208105/how-do-i-remove-a-property-from-a-javascript-object) – user456879 Jun 28 '17 at 05:56
  • Possible duplicate of [How do I remove a property from a JavaScript object?](https://stackoverflow.com/questions/208105/how-do-i-remove-a-property-from-a-javascript-object) – MehulJoshi Jun 28 '17 at 08:26
  • This is not an array but an object. An array would use rectangular brackets: `var x=[1, '2', 3+''];` – Azimuth Feb 15 '18 at 12:16

2 Answers2

6

Use delete keyword to delete a property in an object.

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>
TurboLion
  • 75
  • 1
  • 7
Pranav C Balan
  • 113,687
  • 23
  • 165
  • 188
0
$(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);

});

Fiddle: http://jsfiddle.net/ef3Le1en/

Gokulan P H
  • 1,838
  • 1
  • 10
  • 13