我在处理一些事情时遇到了一些麻烦。我需要使用三元运算符来返回值或假,但它从包含其他嵌套对象的对象获取它所需的数据,并且我不能确定这些嵌套对象中的任何一个是否存在。三元需要两件事情是真的
数据结构如下:
data = {
"foo":{
"bar": true,
"tar": true,
"rar": false
},
"goo":{
"har": true,
"par": true,
"mar": false
},
}
三元运营商需要基本上做类似如下:
var something = data.foo.bar ? data.foo.bar : false
但它可能是data.foo不存在,也有可能data.foo.bar不存在。
如何检查任何一个不存在的元素,如果其中一个不存在并返回false,并返回实际值(如果存在)?
我不认为这是一个它被标记为重复的,因为我特别需要它是一个三元操作符的副本。如果不适合我的目的。
您的代码在语法上无效。你不能以这种方式使用数字作为属性名称;你必须使用'[]'运算符而不是'.'。 – Pointy
是的,我意识到这一点,我只是使用虚拟数据。我会把它改正。谢谢! – Steve
此外,三元运算符虽然高效,但可能会导致代码难以阅读,尤其是当条件复杂时,读者可能会说,三元运算符只是一个if语句,所以检查它是否也是“undefined” 。 – Leeish