javascript - 反应:在状态下访问数组时变得未定义
问题描述
当我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];
我得到:
不明确的
我如何访问这些,以便我可以遍历每个类别中的数组?
解决方案
转换Array
为Object
使用Object.fromEntries
const an = Object.fromEntries(this.state.animal_names);
desiredAnimal = "dogNames";
an[desiredAnimal];
推荐阅读
- php - php按id查看照片
- c++ - 如何解决两个相互引用的c++头文件的问题?
- python - 在 pandas 中按组插入到新的 x 轴
- sql-server - 如何在SQL中的spearte结果集中获取表中所有列的不同数据
- javascript - 如何在预请求脚本中验证 POST 请求正文所需的参数?
- c++ - 如何解决此访问冲突写入位置?
- performance - 运行 Go 基准测试的正确输出
- android - Android 更改文本 ExoPlayer 默认接收器
- javascript - 使用自定义组件创建包
- javascript - redash GET 请求适用于 POSTMAN,但不适用于 axios