我只是在数组中查找一个对象,但 typescript 认为返回类型未定义。
let b = serverResponse.hotels.find(h => h.hotelMoniker == offer.hotelMoniker) ;
console.log(b);
newVacation.hotel = b //Error Here
ERROR in [at-loader] ./ClientApp/app/services/room.service.ts:170:7 TS2322: Type 'HotelResultsModel | undefined' is not assignable to type 'HotelResultsModel'.
当我将鼠标悬停在变量上时, typescript 认为 serverResponse.hotels 数组中的对象属于“HotelResultsModel”类型。我什至可以将它们记录到控制台。
Type 'undefined' is not assignable to type 'HotelResultsModel'.
我有办法告诉 Typescript 忽略错误或强制转换查找结果吗?
最佳答案
因为没有找到b。试试这个:
let b = serverResponse.hotels.find(h => h.hotelMoniker == offer.hotelMoniker) ;
newVacation.hotel = b || null;
关于javascript - Typescript find 无法识别返回的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46239951/