angular - 输入'| 从数组对象中使用 FIND 时,undefined' 不可分配给类型 ''
问题描述
我试图从一个数组中找到一个元素并将其分配给另一个数组对象。
但它的说法
输入'ClosureSummary | undefined' 不可分配给类型 'ClosureSummary'
var dt = $('#tbl_summary').DataTable();
let ids:string[]=[];
dt.rows({ page: 'current' }).nodes().each(function(item,index){
ids.push(item.id)
});
console.info(ids);
this.liveBoundSummary.forEach(element=>{
let pcode:string=element.ProjectCode;
if(ids.includes(pcode)){
let csItem:any;
element=this.clSummary.find(x=>x.ProjectCode==pcode);
}
});
在这里,当我尝试将从 clSummary 数组中找到的值分配给liveBoundSummary 元素时,它会显示未定义的错误。
clSummary 和 liveBoundSummary 都属于同一类型 ClosureSummary[]
如何解决
解决方案
我可以使用非空断言运算符 (!)来修复它,所以我与那些面临同样问题的人分享相同的内容
所以在分配时我是这样的
element=this.clSummary.find(x=>x.ProjectCode==pcode)!;
哪个解决了这个问题