2017-09-25 43 views
-1
for (var i=0; i<10; i++) { 
       this.videos[i].url = 'http://localhost:27017/' + 
this.videos[i].url; 
      this.videos[i].avgRating = 0; 
      for(var j=0;j<this.videos[i].rating.length;j++){ 
       this.videos[i].avgRating += this.videos[i].rating[j]; 
      } 

第二個for循環導致的錯誤「無法獲取的未定義或爲空引用屬性‘長’」for循環不會在Javascript妥善拿起數組長度

+3

'this.videos [i] .rating' is undefined –

+0

can you console.log(this.videos [i] .rating)並查看該值是否存在 – marvel308

+0

您應該使用'i Phix

回答

2

錯誤是說,「評級」在'我'視頻元素中未初始化。您是否已驗證您的視頻數組在完成外部循環之前已完全初始化?

+0

這正是發生的情況,其中一個模型在其數據成員之一中丟失了一封信,所以字段沒有從HTTP調用中接收數據並且爲空。謝謝,真的幫助我們知道在哪裏尋找問題。 –