Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Cách xóa tất cả đối tượng rỗng khỏi Object trong JavaScript

Giả sử chúng ta có đối tượng sau:

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

Chúng ta cần xóa các đối tượng rỗng ở trên. Sử dụng forEach() kết hợp typeof và delete để xóa đối tượng rỗng.

Ví dụ

Mã minh họa:

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

Để chạy chương trình, sử dụng lệnh:

node tenFile.js

Tên file ở đây là demo283.js.

Kết quả

Đầu ra trên console:

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