以下程式碼出現這樣的錯誤,第一時間會判斷是不是找不到replace這個函數
items.map((item,i) =>{
let contentRep = item.content;
let titleRep = item.title;
if(contentRep!=null || contentRep!=''){
contentRep = contentRep.replace(searchItem,'<font style="background-color:#ffeb3b;color: #0d6efd;"><b>'+searchItem+'</b></font>')
}
titleRep = titleRep.replace(searchItem,'<font style="background-color: #ffeb3b;color: #0d6efd;"><b>'+searchItem+'</b></font>')
})
但實際上並非如此,主要造成這樣的原因在於,在執行到replace之前會判定資料是否存在,因此如果資料這時候傳回的是NULL或者是空值,就會造成系統認定的異常,因此要解決這問題可以藉由以下方式修改
items.map((item,i) =>{
//資料到replace之前先行判斷並且如果資料不存在則直接帶入空值
let contentRep = item.content || '';
let titleRep = item.title || '';
//上下都判斷,資料不存在則不進行,即可減少系統發生的錯誤機率,畢竟還有沒有其他問題點有待商榷
if(contentRep!=null || contentRep!=''){
contentRep = contentRep.replace(searchItem,'<font style="background-color: #ffeb3b;color: #0d6efd;"><b>'+searchItem+'</b></font>')
}
if(titleRep!=null || titleRep!=''){
titleRep = titleRep.replace(searchItem,'<font style="background-color: #ffeb3b;color: #0d6efd;"><b>'+searchItem+'</b></font>')
}
})