有没有一种方法可以在Lodash或Underscore中为null指定默认值?

Joh*_*nyQ 3 javascript underscore.js lodash

我知道该_.defaults函数可以为键为的对象放置默认值undefined。但是不适用于的键null。有办法实现吗?

Joh*_*nyQ 5

感谢@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)
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
Run Code Online (Sandbox Code Playgroud)