>웹 프론트엔드 >JS 튜토리얼 >JavaScript 객체에서 Null 또는 정의되지 않은 속성을 효율적으로 제거하는 방법은 무엇입니까?

JavaScript 객체에서 Null 또는 정의되지 않은 속성을 효율적으로 제거하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-02 13:13:15930검색

How to Efficiently Remove Null or Undefined Attributes from JavaScript Objects?

JavaScript의 객체에서 빈 속성 제거

객체 작업 시 정의되지 않았거나 null인 모든 속성을 제거해야 하는 경우가 많습니다. . 이는 데이터 무결성을 유지하고 속성에 액세스할 때 오류를 방지하는 데 도움이 됩니다.

ES10/ES2019 솔루션

// Return a new object without blank attributes
let o = Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null));
// Mutate the object in place (not recommended)
Object.keys(obj).forEach((k) => obj[k] == null && delete obj[k]);

ES6/ES2015 솔루션

// Return a new object with blanks removed
let o = Object.keys(obj)
  .filter((k) => obj[k] != null)
  .reduce((a, k) => ({ ...a, [k]: obj[k] }), {});
// Mutate the object in place (not recommended)
Object.keys(obj)
  .filter((k) => obj[k] != null)
  .forEach((k) => delete obj[k]);

ES5/ES2009 솔루션

function removeEmpty(obj) {
  const newObj = {};
  for (let prop in obj) {
    if (obj.hasOwnProperty(prop) && obj[prop] != null) {
      newObj[prop] = obj[prop];
    }
  }
  return newObj;
}

위 내용은 JavaScript 객체에서 Null 또는 정의되지 않은 속성을 효율적으로 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.