Javascript 如果数组是空字符串,如何从数组返回图像而不返回任何内容&引用;

Javascript 如果数组是空字符串,如何从数组返回图像而不返回任何内容&引用;,javascript,arrays,reactjs,Javascript,Arrays,Reactjs,我在从json文件渲染图像时遇到问题。我的数据是这样构造的,我希望映射并渲染图像,但我得到一个错误item.image.map不是一个函数 "image": [ "Apollo11PLSSSecondaryImage1.jpg", "Apollo11PLSSSecondaryImage2.jpg" ], "image": [ "" ], 我尝试过使用.filter,如果item.image==”返回null,则还尝试使用if-else语句

我在从json文件渲染图像时遇到问题。我的数据是这样构造的,我希望映射并渲染图像,但我得到一个错误
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,您一定也更改了其他内容,从而破坏了这一点。您能否提供有效的输入数据结构?从你的帖子上看不清楚。一个对象中不能有两个“图像”属性。