首页 > 解决方案 > 角度 - 当过滤字段为空时过滤器抛出错误

问题描述

我有一个小问题。当我对数组进行过滤时,如果过滤的字段为空,我总是会出错,之后的其余代码都会失败。这是我的代码:

this.order= result.headerText.find((item) => item.textType === 'Order');

如果我有带有'Order'的文本类型,一切都很好,但如果我有文本类型为空,它会引发错误并且其余代码不会执行。

在此处输入图像描述

我如何检查是否有带有 Order 的 textType 并返回它,当它为空时它不会崩溃:)

在此处输入图像描述

标签: javascriptangularjs

解决方案


headerText 中的“项目”可能为 null 但不是 textType

this.order = result.headerText && result.headerText.find((item) => item && item.textType === 'Order');

如果您使用最新版本的打字稿,您可以使用可选链接提案

this.order = result.headerText?.find((item) => item?.textType === 'Order');

推荐阅读