我使用角度承諾從服務器獲取一些數據。在承諾的成就我做使用多維數組循環對象
promise.success(function (data, status) {
for (i = 0; i <= data.data.length; i++){
$scope.anArray[i] = data.data[i][1] ;
}
}
我這樣做是因爲從服務器傳來data
具有這種結構
{"result":"answered","data":[["jake","508"],["amir","602"],["ben","450"]]}
,我只想要得到的數字508,602和450,但我總能得到同樣的錯誤TypeError: Cannot read property '0' of undefined
重蹈這條線:$scope.anArray[i] = data.data[i][0] ;
。
這些數字是供圖書館用來創建圖表的。有時圖表是創建的,有時候不是。即使它被創建,同樣的錯誤總是在那裏。
我不知道如何解決這個錯誤,並讓圖表始終創建沒有任何問題。看起來像代碼不喜歡data.data[i][0]
結構,有一個簡單的數組像data.data[i]
不會創建一個錯誤。
我該怎麼辦?
謝謝
使用'angular.forEach()'是方式更清潔,並已在lib核心。 https://docs.angularjs.org/api/ng/function/angular.forEach – sbaaaang
@sbaaaang我選擇Paarths答案作爲正確的答案,因爲它需要最少量的編輯來修復我的代碼。但是你的建議也非常好,我甚至忘記了'forEach'。謝謝您的幫助。 – slevin
當然不用擔心,只要記住angular.forEach()就是一個循環更清潔,更易於使用,當你有這個時使用普通js沒有任何意義;) – sbaaaang