How to remove all blank objects from an Object in JavaScript?



Let’s say the following is our object −

const details =
{
   name: 'John',
   age: {},
   marks: { marks: {} }
}

 

We need to remove the black objects above You can use forEach() along with typeof and delete to remove blank objects.

Example

Following is the code −

const details =
{
   name: 'John',
   age: {},
   marks: { marks: {} }
}
function removeAllBlankObjects(detailsObj) {
   Object.keys(detailsObj).forEach(k => {
      if (detailsObj[k] && typeof detailsObj[k] === 'object' && removeAllBlankObjects(detailsObj[k]) === null) {
         delete detailsObj[k];
      }
   });
   if (!Object.keys(detailsObj).length) {
      return null;
   }
}
removeAllBlankObjects(details);
console.log(details);

To run the above program, you need to use the following command −

node fileName.js.

Here, my file name is demo283.js.

This will produce the following output on console −

PS C:\Users\Amit\javascript-code> node demo283.js
{ name: 'John' }

Advertisements