使用 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。

相关推荐
未来之窗软件服务5 分钟前
幽冥大陆(三十五)S18酒店门锁SDK go语言——东方仙盟筑基期
java·前端·golang·智能门锁·仙盟创梦ide·东方仙盟·东方仙盟sdk
卸任7 分钟前
解密Flex布局:为什么flex:1仍会导致内容溢出
前端·css·flexbox
前端一课14 分钟前
第 28 题:async / await 的原理是什么?为什么说它是 Promise 的语法糖?(详细版)
前端·面试
前端一课15 分钟前
第 28 题:手写 async/await(Generator 自动执行器原理)
前端·面试
前端一课16 分钟前
第 33 题:浏览器渲染流程(Reflow 重排、Repaint 重绘、Composite 合成)*
前端·面试
前端一课16 分钟前
前端面试第 34 题:事件循环(Event Loop)—— 必考高频题
前端·面试
前端一课18 分钟前
第 26 题:Vue2 和 Vue3 的响应式原理有什么区别?为什么 Vue3 要用 Proxy 替代 defineProperty?
前端·面试
前端一课18 分钟前
第 30 题:模块化原理(CommonJS vs ESModule)
前端·面试
前端一课18 分钟前
第 31 题:Tree Shaking 原理与常见失效原因(高频 + 难点 + 面试必考)
前端·面试
前端一课18 分钟前
第 27 题:Promise 实现原理(含手写 Promise)
前端·面试