JS:使用lodash的omit滤除对象中的非空属性

在工作中,需要滤除对象中的空值,将非空值转给后端。

前期采用网友给出的pickBy滤除对象的方法,发现是有问题的:

const data = {
    姓名:"张三",
    性别: "男",
    有效: false,
    职业: null
}

const tmp = _.pickBy(data)
console.log(JSON.stringify(tmp))

希望输出: { "姓名":“张三, "性别":"男", "有效": false}

实际输出结果为:{ " 姓名":"张三","性别": "男"}

可见,有效: false也被滤除掉了。这是不对的,不是我们希望的结果。

于是想到用lodash的omit函数:

const tmp = _.omit(data, _.isNuLL)

将空属性给滤除掉。这样就正常了,输出:

{ "姓名":"张三", "性别": "男", "有效":"false"}

该方法在网上搜不到,自己记录一下,希望对大家有帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在UniApp使用Lodash库可以方便地进行数据处理和操作。Lodash是一个JavaScript实用工具库,提供了很多常用的函数方法,可以简化开发过程并提高代码的可读性和可维护性。 要在UniApp使用Lodash,首先需要安装Lodash库。可以通过npm安装,打开终端并执行以下命令: ``` npm install lodash ``` 安装完成后,在需要使用Lodash的页面或组件引入Lodash库: ```javascript import _ from 'lodash'; ``` 接下来就可以使用Lodash提供的各种函数方法了。以下是一些常用的Lodash函数方法示例: 1. 数组操作: ```javascript const arr = [1, 2, 3, 4, 5]; // 使用Lodash的map函数对数组进行映射操作 const mappedArr = _.map(arr, (num) => num * 2); console.log(mappedArr); // [2, 4, 6, 8, 10] // 使用Lodash的filter函数对数组进行过滤操作 const filteredArr = _.filter(arr, (num) => num % 2 === 0); console.log(filteredArr); // [2, 4] ``` 2. 对象操作: ```javascript const obj = { name: 'Alice', age: 20, gender: 'female' }; // 使用Lodash的pick函数选择对象的指定属性 const pickedObj = _.pick(obj, ['name', 'age']); console.log(pickedObj); // { name: 'Alice', age: 20 } // 使用Lodash的omit函数忽略对象的指定属性 const omittedObj = _.omit(obj, ['gender']); console.log(omittedObj); // { name: 'Alice', age: 20 } ``` 3. 字符串操作: ```javascript const str = 'Hello, World!'; // 使用Lodash的toUpper函数将字符串转为大写 const upperStr = _.toUpper(str); console.log(upperStr); // 'HELLO, WORLD!' // 使用Lodash的truncate函数截断字符串 const truncatedStr = _.truncate(str, { length: 10 }); console.log(truncatedStr); // 'Hello, Wor...' ``` 这些只是Lodash提供的众多函数方法的一部分,你可以根据具体需求查阅Lodash官方文档来了解更多用法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值