作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我知道 _.defaults
函数可以为具有 undefined
键的对象设置默认值。但是,它不适用于 null
的键。有办法实现吗?
最佳答案
感谢@Jacque 对 null
值的解释。然而,由于不幸的继承代码,我正在处理的对象返回了 null
值,即使它是为 undefined
而设计的。这是我通过省略 null
属性以更具声明性的方式实现此目的的方法,这将导致 undefined
,从而为其值创建默认值。
const alphabet = {
a: 'A is for apple',
// b: undefined,
c: 'C is for cake',
d: null,
}
const nonNulls = _.omitBy(alphabet, _.isNull) // Omitting null values.
const longer = _.defaults(nonNulls, {
b: 'B is for boy',
})
console.info('Longer Way', longer)
// Or even shorter
const shorter = _.defaults(_.omitBy(alphabet, _.isNull), {
b: 'B is for boy',
})
console.info('Shorter Way', shorter)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
关于javascript - 有没有办法在 Lodash 或 Underscore 中为 null 指定默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43157334/
我是一名优秀的程序员,十分优秀!