如何获取数组中的特定数组

时间:2019-02-12 16:51:39

标签: reactjs multidimensional-array

我无法从数组数组中获取一组特定的值,因为这些值以undefineda的形式出现。我的数组存储在状态中,并按以下方式设置:

survey: [{names: ["sara", "tom"]}, {age: ["17", "33"]}, {col: ["blue", "green"]}]

要仅访问名称,我一直在尝试使用以下行:

console.log(this.state.survey.names)

当我检查时,控制台的名称“未定义”。当我检查Survey的值时,它显示为一个数组数组,其中每个嵌套数组内部都有两个值存储。

我要检查这一点,因为我试图映射嵌套数组,而映射出测量名称却不起作用,因为长度显示为0。当嵌套数组未存储在状态中时,我可以成功映射出嵌套数组,因此我想知道我缺少什么或者我的语法不正确。

1 个答案:

答案 0 :(得分:0)

您正试图像访问对象一样访问数组,而不是对象数组。一个简单的解决方法是- this.state.survey.find(item => item.names).names

从长远来看,除非有理由将其存储为数组,否则重组和存储为对象会容易得多。如果您将其重组为

survey: {
  names: ['name1', 'name2'],
  age: ...etc

如果您要说Sara17,而她的col是blue,为什么不将其存储为单个对象呢?