this is my object . I am trying to remove empty array, empty string,null, undefined.
 let result = {
  a : [],
  b: undefined,
  c: null,
  d: NaN,
  e: {},
  f:{test: undefined, tes1: null,tes2:NaN},
  g:{name :{x:undefined, y:"s", z: null}},
  x:"sujon",
  y:"",
}
Now, I can only delete the undefined value from an object by using this code;
const removeEmpty = (obj) => {
  Object.keys(obj).forEach(key => {
    if (obj[key] && typeof obj[key] === 'object') removeEmpty(obj[key]);
    else if (obj[key] === undefined) delete obj[key];
  });
  return obj;
};
let res = removeEmpty(result) 
console.log(res)
my expected result would be like this:
   let result = {
      g:{name :{y:"s"}},
      x:"sujon",
    }
How can i get my expected result?
 
     
    