gpt4 book ai didi

javascript - 如何使用 lodash get 处理空值

转载 作者:行者123 更新时间:2023-12-02 14:49:35 32 4
gpt4 key购买 nike

这是简单的 json

  {
home: 68
id: 1
name: "RL Conference Room"
nickname: null
setpoint: 32.34
sleep: 58
}

当我得到空 key 时,这个 lodash 函数就起作用了

_.get(room, 'keyName', 'whenKeyNotFound')

但是正如您在上面看到的,我在 nickname 中得到空值,因此我想将其替换为 name 但这不起作用。

_.get(room, 'nickname', 'name')

lodash中有什么函数可以做到这一点吗?

谢谢!!!

最佳答案

在一个级别的场景中,由于(在您的情况下)null也是一个不受欢迎的结果,看来您最好不使用lodash,只需执行以下操作:

room.nickname || room.name 

它实际上会更短,并在您的情况下达到相同的结果。

你还可以这样做:

let name = _.defaultTo(room.nickname, room.name)

_.defaultTo保护您免受 null、NaN 和 undefined

的影响

因此,在上述情况下,您将获得 obj.name,但如果您设置了 nickname,您将获得该值。

在路径较长的情况下,您可以在自定义函数中使用 _.isEmpty,如下所示:

const getOr = (obj, path, def) => {
var val = _.get(obj, path)
return _.isEmpty(val) ? def : val
}

这将处理您的 null 以及按照 _.isEmpty docs 的其他场景.

您可以简单地使用:

getOr(room, 'nickname', room.name)

你可以嵌套它:

getOr(room, 'nickname', getOr(room, 'name', 'N/A'))

关于javascript - 如何使用 lodash get 处理空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52855532/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com