JSFiddle - React, Tailwind, and code Playground

JavaScript

var collection = {
    32 : { id: 32, name: 'unique name', children: {} },
    43: { id: 43, name: 'unique name', children: {} },
    55: { id: 55, name: 'unique name', children: {
      31: { id: 31, name: 'unique name', children: {} },
      63: { id: 63, name: 'unique name', children: {} },
      84: { id: 84, name: 'unique name', children: {
           47: { id: 47, name: 'unique name', children: {} },
           56: { id: 56, name: 'unique name', children: {} },
        } },
    } }
}

function moveElement(el, obj) {
    var newEl = el;
    var id = el.id;
    // do removing and moving stuff here
    console.log(newEl);
    // remove from collection
    _.omit(obj, el.id);
    // add to collection in upper tree
    obj[id] = newEl;
    console.log(obj);
}
        
function deepSearch(obj, origobj, val) {
    
  for (var key in obj) {
      if (obj.hasOwnProperty(key)) {
          var el = obj[key];
          if (_.size(el.children) > 0) {
              deepSearch(el.children, origobj, val);
          }
          if (key == val) {
              moveElement(el, origobj);
              return;
          }   
      }    
  }
    
}

deepSearch(collection, collection, 56);