JSFiddle - React, Tailwind, and code Playground

by Zeljko Tadic

JavaScript

const myObj = { 
  a: 1,
  b:'foo',
  c: '',
  d: null,
  e: undefined,
  f: {v: 1, w:'foo', x: '', y: null, z: undefined, m:{a:'asd'}}
  };

const removeEmpty = (obj) => {
  Object.keys(obj).forEach(k =>
  const isValid =  (obj[k] && typeof obj[k] === 'object') && removeEmpty(obj[k]) ||
    (!obj[k] && obj[k] !== undefined);
    if (!isValid) {
    
    delete obj[k];
    }
  );
  return obj;
};

console.log(removeEmpty(myObj));