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));