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

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

DDD
发布: 2024-12-02 00:53:10
原创
727 人浏览过

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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板