首页 >web前端 >js教程 >如何有效地从 JavaScript 对象中删除 Null 或未定义的属性?

如何有效地从 JavaScript 对象中删除 Null 或未定义的属性?

Linda Hamilton
Linda Hamilton原创
2024-12-02 13:13:15849浏览

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