我知道_.defaults函数可以为具有未定义键的对象设置默认值.但是它不适用于null的键.有没有办法实现这个目标?
解决方法:
感谢@Jacque关于空值的解释.但是由于不幸的继承代码,我正在处理的对象返回null值,即使它是用于未定义的.这是我通过省略将导致未定义的null属性以更加声明的方式实现此目的的方法,因此将为其值创建默认值.
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>