如何从JavaScript中的对象删除所有空白对象?

假设以下是我们的对象-

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

 

我们需要删除上面的黑色对象。您可以将forEach()typeof和delete一起使用,以删除空白对象。

示例

以下是代码-

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);

要运行上述程序,您需要使用以下命令-

node fileName.js.

在这里,我的文件名为demo283.js。

这将在控制台上产生以下输出-

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