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