我會盡我所能,試圖問這個問題,因爲它是一個缺乏瞭解的知識,我所期待的是能夠搜索到它,因爲我不使用JavaScript流體。我知道它爲什麼會發生,我只是不確定如何使用JavaScript解決它。未定義的輸出時,對象丟失
我解析,並通過從API響應JSON文件循環。如果有一個標題可能是任何文本的值,則NWSheadline對象有時可能會從文件中刪除,如果沒有任何文本要顯示,有時候,下面代碼片段中的對象NWSHeadline將包含在文件中。
"parameters": {
"NWSheadline": [
"TEXT VALUE FOR NWSHEADLINE"
],
爲了簡潔起見,我只發佈了與上述問題相關的代碼段。在我的循環我有一個爲對象NWSheadline
var NWSheadline = entry.properties.parameters.NWSheadline;
所以,當我把它放在我的HTML例如創建了var下面一行...
<div class="alerts-description-popover"><p>' + NWSheadline + '</p>
它將輸出該值如果NWSHeadline對象存在於文件中,則該對象可以是任何文本形式的JSON文件中的NWSheadline。如果NWSheadline對象不存在於JSON文件中,我只剩下Undefined被輸出,因爲NWSheadline正在我的HTML中聲明,但不存在於JSON文件中。所以我知道爲什麼它現在正在嘗試解決它。
所以我的問題是我怎麼會壓制它顯示未定義的Javascript,因此如果NWSHeadline是不是在JSON它會顯示什麼,而不是未定義可用?
現在PHP其中我更熟悉,我做這樣的事情。
$NWSheadline = $currFeature['properties']['parameters']['NWSheadline'][0] ?? null;
是否有類似的JavaScript的東西,都會有相同的結果,或防止未定義當NWSheadline不存在的一些其他手段?
也許我的邏輯是關閉還是我失去了一些東西。如果我試試'var NWSheadline = entry.properties.parameters.NWSheadline || 「」;'如果對象NWSheadline從JSON文件中丟失,它仍然輸出未定義的值。也許我正在尋找錯誤的地方來解決這個問題? –
我編輯了我的答案,嘗試使它更清晰,希望它有幫助! 如果您仍然看到'未定義',我會仔細檢查de var名稱,如果您不熟悉調試,則可以使用一些console.log來查看這些值。 – renanpallin
不理會我以前的評論。這確實有用。 'var NWSheadline = entry.properties.parameters.NWSheadline || 「」;我正在編輯我的備份文件,而不是我的測試版文件,這就是爲什麼我沒有看到變化。 –