我收到來自服務器這個JSON,我需要的,如果我這樣做,以檢查其中是否包含關鍵read.nores
如何檢查對象是否有特定的鍵沒有的try/catch
這
if (data[0]["read.nores"]) {
return;
}
它會崩潰,因爲它不包含該密鑰。
如何在沒有try/catch方法的情況下檢查鍵是否存在,如.has(「read.nores」)?
我收到來自服務器這個JSON,我需要的,如果我這樣做,以檢查其中是否包含關鍵read.nores
如何檢查對象是否有特定的鍵沒有的try/catch
這
if (data[0]["read.nores"]) {
return;
}
它會崩潰,因爲它不包含該密鑰。
如何在沒有try/catch方法的情況下檢查鍵是否存在,如.has(「read.nores」)?
讀取一個未定義的關鍵安全生產undefined
,但是從undefined
讀一鍵將拋出,所以問題會具體爲data[0]
不存在,而不是data[0]["read.nores"]
不存在。
要檢查的是,將其更改爲:
if (data[0] && data[0]["read.nores"]) {
return;
}
它不會崩潰。 如果您檢查對象的任何屬性,並且它未在對象中定義,則默認爲undefined
。所以你的條件會很好地工作。
檢查'json是否包含密鑰'的條件將不起作用,因爲即使密鑰確實存在,它也會在falsey值上驗證爲false。 – Lain
它包含了關鍵......即使它沒有,它不會崩潰,它只是得到'undefined'值(是虛假的,所以它不會返回) – Quentin
你試過'indexOf()'? – alok
它只會崩潰,如果'數據[0]'不可用,所以你需要檢查之前,像'如果(數據[0] &&數據[0] [「read.nores」])' – Eddi