javascript - 映射函数 - 未处理的 JS 异常:TypeError:未定义不是评估映射的对象
问题描述
我有一个名为 displayKeyHelpers.ts 的文件,members.map
代码位于第 118 行。该代码适用于大多数用户和 QA,但有时似乎成员未定义。我正在查看一份崩溃报告,上面写着
displayKeyHelpers.ts, line 118
SIGABRT: Unhandled JS Exception: TypeError: undefined is not an object (evaluating 'n.map') This error is located at: in V in Unknown in Unknown in Unknown..
下面函数中的成员似乎是未定义的。如何添加支票?
export const memberDropdownOptions = (members: any): Option[] => {
const options: Option[] = []
members.map((member: Person) => {
options.push({
label: `${member.firstName} ${member.lastName}`,
value: member.dependentNumber,
})
})
return options
}
这是我尝试过的,但它没有通过一些单元测试,所以我猜这是不对的:
export const memberDropdownOptions = (members: Person[]): Option[] => {
const options: Option[] = []
members?.map((member: Person) => {
options.push({
label: `${member?.firstName} ${member?.lastName}`,
value: member?.dependentNumber,
})
})
return options
}
该函数的使用如下:
const memberOptions = memberDropdownOptions(members)
解决方案
调用函数时未定义members
您传递给的参数。memberDropdownOptions(members)
是否members
依赖一些异步逻辑来被赋予一个值?追溯到它被赋值的地方,并确保memberDropdownOptions()
只有在它有一个值时才会触发。
推荐阅读
- regex - 带有字母数字的字符串的正则表达式,其中包含“。” 特点
- linux - 如何找到存储在文件数据 txt 中的特定文本并且它只出现一次?
- r - stat_summary:将单个观察值包含到聚合函数中
- android - 回收站查看安卓
- ios - 如何找出一周的第一天是什么?(周一或周日)
- sql - 从对象数组jsonb postgresql中获取值
- android - 区分由于广告显示浏览器后返回主屏幕还是由于广告从浏览器返回应用程序
- c - 深度优先搜索代码不打印任何内容
- javascript - Mac 和 Windows 之间的 NODE_ENV 设置不同
- python - 无法在 virtualenv 中运行 python 命令