Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.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
访问也是数组{React,Javascript}的属性返回未定义的_Javascript_Reactjs - Fatal编程技术网

访问也是数组{React,Javascript}的属性返回未定义的

访问也是数组{React,Javascript}的属性返回未定义的,javascript,reactjs,Javascript,Reactjs,这可能看起来很愚蠢,但我迷路了。我想通过国家和地区阵列绘制地图。我有一个国家数组,它还包括地区数组。我可以访问Countries数组,但当我尝试访问从国家数组返回的地区数组时,它返回未定义的。这里是一个最小的例子 完整代码 const国家=[ { 国名:“阿富汗”, countryShortCode:“AF”, 区域:[ { 姓名:“巴达赫尚”, 短码:“BDS”, }, { 姓名:“巴德吉斯”, 短码:“BDG”, }, { 名称:“赫尔曼德”, 短码:“HEL”, }, { 姓名:“赫拉特

这可能看起来很愚蠢,但我迷路了。我想通过国家和地区阵列绘制地图。我有一个
国家数组
,它还包括
地区数组
。我可以访问Countries数组,但当我尝试访问从
国家数组返回的
地区数组时,它返回未定义的。这里是一个最小的例子

完整代码

const国家=[
{
国名:“阿富汗”,
countryShortCode:“AF”,
区域:[
{
姓名:“巴达赫尚”,
短码:“BDS”,
},
{
姓名:“巴德吉斯”,
短码:“BDG”,
},
{
名称:“赫尔曼德”,
短码:“HEL”,
},
{
姓名:“赫拉特”,
短码:“她”,
},
{
姓名:“Jowzjan”,
短码:“JOW”,
},
{
名称:“喀布尔”,
短码:“KAB”,
},
{
名称:“坎大哈”,
短码:“KAN”,
}
],
},
{
国家名称:“奥兰群岛”,
countryShortCode:“AX”,
区域:[
{
名称:“布朗德”,
短码:“BR”,
},
{
姓名:“埃克尔”,
短码:“EC”,
},
{
名称:“Sund”,
短码:“SD”,
},
{
姓名:“Vårdö”,
短码:“VR”,
},
],
}
]
const mappedCountries=Countries.map({regions})=>regions;
const mappedRegion=mappedCountries.map({name})=>name);
控制台日志(mappedCountries);

console.log(mappedRegion)您正在映射方法中返回数组。结果是一个数组的数组

您需要将结果展平。一个简单的替代方法是使用
reduce

const mappedCountries = Countries.reduce((memo, { regions }) => [...memo, ...regions], []);
const mappedRegion = mappedCountries.map(({ name }) => name);


您可以像这样在第二个贴图中更改您的条件以访问区域的名称-
mappedCountries.map(e=>e.map(({name})=>name))

好的,这很简单,但是你能给我们看看数组吗?对不起,我没有看到CodeSandBox,对不起,
mappedCountries
是一个对象数组,所以你需要更深入地迭代。请阅读。当外部资源消失或固定时,依赖外部资源理解的问题将变得无用。创建一个问题,并将其放在问题本身中。Stackoverflow不支持@pilchard。请避免添加外部站点上的代码,即使OP链接到它。你进来了。最好让OP做出这样的改变。还看你把它钉死了!。。。谢谢你,伙计!您可以像这样更改映射内部的条件,但这也将返回一个数组数组,而不仅仅是一个包含名称的数组。