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

如何从 JavaScript 对象中删除 Null 和未定义的属性?

DDD
DDD原创
2024-12-02 00:53:10720浏览

How Can I Remove Null and Undefined Attributes from a JavaScript Object?

从 JavaScript 中的对象中删除空属性

JavaScript 对象属性有时可能包含未定义或空值。这可能会导致处理数据时出现困难,并使保持一致性和准确性变得困难。删除这些空属性有利于优化代码和提高数据完整性。

概述

要删除 JavaScript 对象中所有未定义或 null 的属性,您可以使用以下方法:

迭代(函数式样式)

  1. ES10/ES2019 示例:

    let o = Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null));
  2. ES6/ES2015示例:

    let o = Object.keys(obj)
      .filter((k) => obj[k] != null)
      .reduce((a, k) => ({ ...a, [k]: obj[k] }), {});

迭代(命令式)

  1. ES10/ES2019示例:

    function removeEmpty(obj) {
      const newObj = {};
      Object.entries(obj).forEach(([k, v]) => {
        if (v === Object(v)) {
          newObj[k] = removeEmpty(v);
        } else if (v != null) {
          newObj[k] = obj[k];
        }
      });
      return newObj;
    }

递归

  1. ES10/ES2019 示例:

    function removeEmpty(obj) {
      return Object.fromEntries(
        Object.entries(obj)
          .filter(([_, v]) => v != null)
          .map(([k, v]) => [k, v === Object(v) ? removeEmpty(v) : v])
      );
    }

以上是如何从 JavaScript 对象中删除 Null 和未定义的属性?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn