在vue項目中有一個表格操作需要「獲取收藏狀態」的方法,其中用到了forEach,
本來還好好的,結果當收藏列表爲空時forEach報錯了:"TypeError: Cannot read property 'forEach' of undefined"
具體代碼如下:
//獲取收藏狀態 getSc(items){ // console.log('對比列', this.scExistingArr,items) let _flag = false; this.scExistingArr.forEach(e=>{ if(e.iAutoID == items.iAutoID){ _flag = true; } }); return _flag; },
報錯原因:forEach是一種array...確定是一個數組才能使用
解決方法:
1)改爲for in 遍歷的方式
2)在外出加一層判斷,當this.scExistingArr存在爲數組的時候再遍歷,如下
//獲取收藏狀態 getSc(items){ // console.log('對比列', this.scExistingArr,items) let _flag = false; if(this.scExistingArr){ this.scExistingArr.forEach(e=>{ if(e.iAutoID == items.iAutoID){ _flag = true; } }); }; return _flag; },