首页 > 解决方案 > 反应:在状态下访问数组时变得未定义

问题描述

当我console.log(this.state.animal_names)退出状态元素时,我得到

>(2) [Array(2), Array(2)]

当我扩展它时,我得到

0: (2) ["dogNames", Array(53)]
1: (2) ["catNames", Array(100)]

但是,当我尝试访问这些时,如下所示:

desiredAnimal = "dogNames";
this.state.animal_names[desiredAnimal];

我得到:

不明确的

我如何访问这些,以便我可以遍历每个类别中的数组?

标签: javascriptarraysreactjsjavascript-objects

解决方案


转换ArrayObject使用Object.fromEntries

const an = Object.fromEntries(this.state.animal_names);
desiredAnimal = "dogNames";
an[desiredAnimal];

推荐阅读