Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 即使没有数据,数组仍在映射_Javascript_Html_Json_Reactjs_Array.prototype.map - Fatal编程技术网

Javascript 即使没有数据,数组仍在映射

Javascript 即使没有数据,数组仍在映射,javascript,html,json,reactjs,array.prototype.map,Javascript,Html,Json,Reactjs,Array.prototype.map,我有一个网站,它从一个JSON文件映射显示的产品。JSON看起来像这样 "litter3": [ { "name": "Bates", "description": "Cute", "image": "./puppies/boo/bates.jpg" }, { "name&qu

我有一个网站,它从一个JSON文件映射显示的产品。JSON看起来像这样

"litter3": [
    {
      "name": "Bates",
      "description": "Cute",
      "image": "./puppies/boo/bates.jpg"
    },
    {
      "name": "Blade",
      "description": "This one is fiesty",
      "image": "./puppies/boo/blade.jpg"
    },
    {
      "name": "Blair",
      "description": "Cute",
      "image": "./puppies/boo/blair.jpg"
    },

等等。 页面以以下方式映射:

{litter1.map((litter1) => (
          <div className="col-sm-4" key={litter1.name}>
            <img
              className="homecard frame"
              src={litter1.image}
              alt={litter1.name}
            />
            <h1 className="puppyname">{litter1.name}</h1>

            <p className="puppysubtitle">{litter1.description}</p>
          </div>
        ))}

理想情况下,我希望我的客户能够拥有这些已经格式化的代码片段,她可以在必要时填写,在不必要时保留空白。 问题是当数据不存在时,页面仍将映射图像。 如果没有提供数据,我如何防止这种情况发生?
这是可能的,还是有其他方法来实现这一点?

提前感谢您的帮助。

您只需在进行映射之前对阵列进行筛选即可

litter1.filter(x=>x.title!=='').map((litter1) => (

您还可以有其他条件。

您只需在进行映射之前对数组进行筛选即可

litter1.filter(x=>x.title!=='').map((litter1) => (

您还可以有其他条件。

您正在使用库吗?这似乎不是纯JavaScript:
Uncaught SyntaxError:Unexpected token'对不起,我忘了,这是react。如果不打算使用结果数组,那么使用
.map()
是没有意义的;改为使用
.forEach()
。您正在使用库吗?这似乎不是纯JavaScript:
Uncaught SyntaxError:Unexpected token'对不起,我忘了,这是react。如果不打算使用结果数组,那么使用
.map()
是没有意义的;改用
.forEach()