我在處理一些事情時遇到了一些麻煩。我需要使用三元運算符來返回值或假,但它從包含其他嵌套對象的對象獲取它所需的數據,並且我不能確定這些嵌套對象中的任何一個是否存在。三元需要兩件事情是真的
數據結構如下:
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