JSFiddle - React, Tailwind, and code Playground
JavaScript
var x = {
'name': 'a',
'testObj': {
'blah': 8,
'testObj2': { // delete this obj
'blah2': 9,
'blah3': 'c'
}
},
'level': 1,
'children': [{
'name': 'b',
'level': 2,
'children': [{ // delete this obj
'name': 'c',
'level': 3
}]}]
};
function deleteObjByValue(obj, value) {
var k;
for (k in obj){
if (obj.hasOwnProperty(k)){
if (obj[k] === value) {
return true;
}
}
}
for (k in obj){
if (obj.hasOwnProperty(k) && obj[k] instanceof Object){
if (deleteObjByValue(obj[k], value)) {
delete obj[k];
}
}
}
return false;
}
deleteObjByValue(x, 'c');
console.log(JSON.stringify(x));