Skip to content Skip to sidebar Skip to footer

Remove Some Property Levels In Deep Object Hierarchy

Here is the object I have : var jsonData = { 'a' : { '0' : { 'b' : {}, 'c' : {}, 'd' : { '0' : {

Solution 1:

You have to build a recursive function :

var jsonData = {
    "a" : {
        "0" : {
            "b" : {},
            "c" : {},
            "d" : {
                "0" : {
                    "e" : {},
                    "f" : {},
                    "g" : {},
                    "h" : 3 // added to be less trivial
                }
            }
        }
    }
}


function cloneWithout0(v){
  if (typeof v !== "object") return v;
  var c = {};
  for (var k in v) {
    if (k !== '0') c[k] = cloneWithout0(v[k]);
  }
  if (v['0']) {
    for (var k in v['0']) {
      if (k !== '0') c[k] = cloneWithout0(v['0'][k]);
    }
  }
  return c;
}

console.log(cloneWithout0(jsonData));

Post a Comment for "Remove Some Property Levels In Deep Object Hierarchy"