gpt4 book ai didi

Node.js:比较可能不存在的嵌套对象属性

转载 作者:太空宇宙 更新时间:2023-11-04 00:05:55 25 4
gpt4 key购买 nike

我的问题

考虑对对象的嵌套属性进行比较:

display.entities.listAfter.text === 'blah';

如果嵌套查找中的属性之一不存在,我们将收到类型错误,例如:

TypeError: Cannot read property 'listAfter' of undefined

我尝试过什么

尝试并捕获。可行,但不是很优雅,我想知道是否有更好的方法。

我的疑问

除了 try 和 catch 之外,是否有一种规范的方法可以在进行比较之前检查嵌套属性是否存在?

最佳答案

我不知道规范,但有时我会这样做:

display.entities &&
display.entities.listAfter &&
display.entities.listAfter.text === 'blah'

但是当然,这很快就会变得笨拙。如果你真的想让它看起来漂亮,就转向 lodash!

https://lodash.com/docs/4.17.10#get

您可以提供 .get 函数的路径,甚至可以指定默认值(如果未找到)

_.get(display, 'entities.listAfter.text') === 'blah'

关于Node.js:比较可能不存在的嵌套对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52320363/

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