如何解决find方法上没有对象时出现打字稿错误
当我的应用程序中没有房地产产品时,就没有房地产对象,然后当我trt时
找不到products.find((x:any) => x.code === 'realestate')
时,我在这里遇到打字错误,该如何解决?
let REItemsGeos: string[] = response.products.find((x:any) => x.code === 'realestate').items.map((({ geo }) => geo))
这是跳过错误的变量...
解决方法
尝试在映射之前检查您的产品是否存在:
let product = response.products.find((x:any) => x.code === 'realestate');
if (product )
let REItemsGeos: string[] = product.items.map((({ geo }) => geo))
,
使用可选的链接(union WM_CHAR_message
{
struct
{
UINT repatCount : 16;
UINT scanCode : 8;
UINT : 4;
UINT contextCode : 1;
UINT previousState : 1;
UINT transitionState : 1;
};
UINT raw;
};
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
union WM_CHAR_message msgu;
//C++ safe
memcpy(&msgu,&message,sizeof(msgu)); // will be optimized to the store instruction only
switch (message)
{
// ...
case WM_CHAR:
switch(msgu.scanCode)
{
//....
}
OnKeyPress(wParam);
break;
default:
return DefWindowProc(hwnd,message,wParam,lParam);
}
return 0;
}
)运算符。仅当find的值不为null / undefined时,才会进入items.map。
?.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。