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