最近我在使用JavaScript中的for循環遍歷JSON數組時,遇到了一個問題:遍歷過程中提示了未定義的錯誤。
var arr = [ {name: '張三', age: 20}, {name: '李四', age: 22}, {name: '王五', age: 25} ]; for(var i = 0; i< arr.length; i++){ console.log(arr[i].gender); //此處提示未定義的錯誤 }
以上代碼中,我定義了一個包含了3個對象的JSON數組。每個對象都有name和age兩個屬性。我使用for循環遍歷該數組,并嘗試輸出每個對象的gender屬性,結果卻提示該屬性未定義。
經過查詢,我發現問題在于JSON數組中的對象并沒有gender屬性,所以當我訪問該屬性時就會提示未定義的錯誤。
為了避免該問題,我需要在遍歷前對JSON數組中的每個對象進行檢查,確保我訪問的屬性在該對象中是存在的。以下是一個正確的遍歷JSON數組的示例代碼:
var arr = [ {name: '張三', age: 20}, {name: '李四', age: 22}, {name: '王五', age: 25} ]; for(var i = 0; i< arr.length; i++){ if(arr[i].gender !== undefined) { console.log(arr[i].gender); } else { console.log('該對象沒有gender屬性'); } }
以上代碼中,我增加了一個if語句,檢查當前遍歷到的對象是否有gender屬性。如果有,就輸出該屬性;如果沒有,則輸出一句提示。
總之,在遍歷JSON數組時,一定要確保訪問的屬性存在,否則就會出現類似的問題。
上一篇python 時間做差