在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;
},