2017-06-14 48 views
-1

得到了一個很小的問題。Angular 2 Property undefined while Checking it

if(this.arrTest[1][1][1][0][0] === undefined){ 
     console.log("this array is undefined"); 
} 

控制檯: 錯誤類型錯誤:無法讀取屬性「1」的未定義

我用同樣的類型檢查經常在我的項目。只有在這一行上它失敗了,如果(arrTest ..),if(typeof arrTest ..)也嘗試過。任何想法 ?

編輯:console.log不會被觸發。

+0

可以請你添加一些信息呢?這個條件塊的上下文是什麼?一個組件?類?服務?不能幫助你的小信息 –

+0

@ Jota.Toledo我自己發現了它。謝謝。它與組件,類或其他內容無關。我只是沒有仔細閱讀錯誤,它已經說屬性1是未定義的,所以我只是不能檢查更深的屬性... – Doomenik

回答

0

錯誤表示正在匹配的屬性不存在。

如果下列之一爲真

  • this.arrTest即會發生是不確定的或
  • this.arrTest [1]未定義
  • this.arrTest [1] [1]是未定義的。

所以基本上你可以檢查上述所有如下

if(this.arrTest === undefined || this.arrTest[1] === undefined || this.arrTest[1][1] === undefined || this.arrTest[1][1][1] === undefined || this.arrTest[1][1][1][0] === undefined || this.arrTest[1][1][1][0][0] === undefined) 
+0

我認爲'this.arrTest [1] [1] [1] [0] [ 0]'如果this.arrTest [1] [1]'未定義,那麼錯誤信息將顯示爲'ERROR TypeError:無法讀取未定義的屬性'1' –

+0

是的嘗試過,同樣的錯誤。 – Doomenik

相關問題