使用 Lodash 提供的 isNil 和 omitBy 实现对象空属性的过滤

import { isNil, omitBy } from 'lodash-es';

是一行 JavaScript 代码,用于从 lodash-es 库中导入两个函数:isNil 和 omitBy。以下是它们的作用:

1、isNil:

检查传入的值是否为 null 或 undefined。

javascript 复制代码
isNil(null); // true
isNil(undefined); // true
isNil(0); // false
isNil(''); // false

2、omitBy:

创建一个对象的浅拷贝,删除掉符合条件的属性。这个条件是通过一个断言函数来定义的。如果断言函数返回 true,则对应的属性会被删除。

javascript 复制代码
const obj = { a: 1, b: null, c: undefined, d: 4 };
const result = omitBy(obj, isNil);
console.log(result); // { a: 1, d: 4 }

在上面的例子中,omitBy 使用 isNil 作为断言函数,删除了 obj 中值为 null 和 undefined 的属性,最终得到一个新对象 result。

相关推荐
禹凕6 小时前
Python编程——进阶知识(多线程)
开发语言·爬虫·python
xkxnq6 小时前
第五阶段:Vue3核心深度深挖(第74天)(Vue3计算属性进阶)
前端·javascript·vue.js
三小河7 小时前
Agent Skill与Rules的区别——以Cursor为例
前端·javascript·后端
蜡笔小马7 小时前
10.Boost.Geometry R-tree 空间索引详解
开发语言·c++·算法·r-tree
IOsetting7 小时前
金山云主机添加开机路由
运维·服务器·开发语言·网络·php
Hilaku7 小时前
不要在简历上写精通 Vue3?来自面试官的真实劝退
前端·javascript·vue.js
三小河7 小时前
前端视角详解 Agent Skill
前端·javascript·后端
林开落L7 小时前
从零开始学习Protobuf(C++实战版)
开发语言·c++·学习·protobuffer·结构化数据序列化机制
牛奔7 小时前
Go 是如何做抢占式调度的?
开发语言·后端·golang
Aniugel7 小时前
单点登录(SSO)系统
前端