Javascript 如果数组是空字符串,如何从数组返回图像而不返回任何内容&引用;
我在从json文件渲染图像时遇到问题。我的数据是这样构造的,我希望映射并渲染图像,但我得到一个错误Javascript 如果数组是空字符串,如何从数组返回图像而不返回任何内容&引用;,javascript,arrays,reactjs,Javascript,Arrays,Reactjs,我在从json文件渲染图像时遇到问题。我的数据是这样构造的,我希望映射并渲染图像,但我得到一个错误item.image.map不是一个函数 "image": [ "Apollo11PLSSSecondaryImage1.jpg", "Apollo11PLSSSecondaryImage2.jpg" ], "image": [ "" ], 我尝试过使用.filter,如果item.image==”返回null,则还尝试使用if-else语句
item.image.map不是一个函数
"image": [
"Apollo11PLSSSecondaryImage1.jpg",
"Apollo11PLSSSecondaryImage2.jpg"
],
"image": [
""
],
我尝试过使用.filter
,如果item.image==”返回null,则还尝试使用if-else语句
<ArtifactImg>
{
item.image.map( item => {
if(item === "") {
return "N/A";
} else {
return <img src={require(`../../../shared/images/ArtifactImages/${item}`)}></img>
}
})
}
</ArtifactImg>
{
item.image.map(item=>{
如果(项目==“”){
返回“不适用”;
}否则{
返回
}
})
}
您正在映射图像属性,而不是项数组。据我所见,我想,你必须这样做:
{
项目
.filter((项)=>!!项.图像)
.map((项目)=>{
返回
})
}
看起来您的图像数组是字符串数组,而不是具有image
属性的对象数组。您可以尝试以下操作:src={require(
。/../../../shared/images/ArtifactImages/${item}}`我已更改返回../../../shared/images/ArtifactImages/${item.image})}>返回../../../shared/images/ArtifactImages/${item})}>现在我得到了错误项。image.map不是函数请不要在注释中发布代码。用于将其添加到您的问题中。我建议的更改不应影响item.image.map,您一定也更改了其他内容,从而破坏了这一点。您能否提供有效的输入数据结构?从你的帖子上看不清楚。一个对象中不能有两个“图像”属性。