JSFiddle - React, Tailwind, and code Playground

JavaScript

const data = [
  {
    id: 2,
    children: [
      {
        id: 1,
        children: []
      }
    ]
  },
  {
    id: 3,
    children: [],
  }
];

function removeData(myarray, removable) {
var branch = [];
var datas= {};
	myarray.forEach((dat, key) => {
      if(dat.id != removable) {
         datas.id = dat.id;
         datas.children = [];
      }
    
  	 if(dat.children.length >0) {
  	       var children = 	removeData(dat.children, removable);
  	       if(children && datas.id) {
  	        	datas.children = children;
  	      	} else {
           		 datas = children[0];
            } 
  	    }
        if(datas.children || datas.id) {
        	branch.unshift(datas);
        	datas ={};
        }
        

  });
  return branch;
}

console.log(JSON.stringify(removeData(data, 2)));