Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

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' }

  1. JavaScript関数からオブジェクトを返す方法は?

    JavaScript関数からオブジェクトを返すには、 returnを使用します ステートメント、 this キーワード。 例 次のコードを実行して、JavaScipt関数からオブジェクトを返すことができます- <html>    <head>       <script>          var employee = {             empname: "David"

  2. JavaScriptオブジェクトからプロパティを削除するにはどうすればよいですか?

    javaScriptオブジェクトからプロパティを削除するには、コードは次のとおりです- 例 <!DOCTYPE html> <html> <body> <h1>JavaScript Object Properties Example</h1> <h2 class="sample">athlete.name</h2> <script>    let athlete = {       name: "James Anders