gpt4 book ai didi

javascript - 测试深层对象结构中属性的存在

转载 作者:数据小太阳 更新时间:2023-10-29 03:48:54 26 4
gpt4 key购买 nike

在 javascript 中,假设我想访问对象深处的属性,例如:

entry.mediaGroup[0].contents[0].url

在该结构的任何一点上,属性都可能未定义(因此可能未设置 mediaGroup)。

什么是简单的说法:

if( entry.mediaGroup[0].contents[0].url ){
console.log( entry.mediaGroup[0].contents[0].url )
}

不产生错误?如果沿途的任何点未定义,这种方式将产生未定义的错误。

我的解决方案

if(entry) && (entry.mediaGroup) && (entry.MediaGroup[0]) ...snip...){
console.log(entry.mediaGroup[0].contents[0].url)
}

这很长。我猜一定有更优雅的东西。

最佳答案

这是一种非常懒惰的做法,但它符合许多类似情况的标准:

try {
console.log(entry.mediaGroup[0].contents[0].url);
} catch (e) {}

这不应该在可能会忽略其他错误的长代码块上完成,但应该适合像这样的简单情况。

关于javascript - 测试深层对象结构中属性的存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6208533/

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