Javascript 如何在默认情况下为map函数设置一个值?
我正在使用React.js和Javascript 如何在默认情况下为map函数设置一个值?,javascript,reactjs,Javascript,Reactjs,我正在使用React.js和 myArray.map(variable=>({value: variable.value, label: variable.label})) 一切正常,但有时会出现以下情况:TypeError:myArray为null 我该如何设置默认值或类似的内容 多谢各位 为避免此错误,必须在运行map功能之前执行检查 如果您在JSX之外执行此操作,就像代码中所显示的那样,那么代码应该如下所示: if (myArray && myArray.lengt
myArray.map(variable=>({value: variable.value, label: variable.label}))
一切正常,但有时会出现以下情况:TypeError:myArray为null
我该如何设置默认值或类似的内容
多谢各位 为避免此错误,必须在运行
map
功能之前执行检查
如果您在JSX之外执行此操作,就像代码中所显示的那样,那么代码应该如下所示:
if (myArray && myArray.length > 0) {
myArray.map(variable=>({value: variable.value, label: variable.label}))
}
myArray && myArray.length > 0 && myArray.map((...your code...))
如果您是在JSX内部执行此操作,那么代码应该如下所示:
if (myArray && myArray.length > 0) {
myArray.map(variable=>({value: variable.value, label: variable.label}))
}
myArray && myArray.length > 0 && myArray.map((...your code...))
延伸回答
- 如果您使用的是es6,那么可以使用可选的链接。像这样:
myArray?.map(变量=>({value:variable.value,label:variable.label}))
- 不是最佳解决方案,但在myArray为null时使用OR(| |)运算符:
(myArray | |[]).map(变量=>({value:variable.value,label:variable.label}))