Javascript 在数组中的对象中提取数组

Javascript 在数组中的对象中提取数组,javascript,arrays,reactjs,Javascript,Arrays,Reactjs,嗨,伙计们,我正试图从中提取数据: 1) […] ​ 0: {…} ​​ __v: 0 ​​ _id: "5ba96b8ebffd923734090df4" ​​ formID: "5ba96b83bffd923734090df0" ​​ inputArr: Array(3) [ "value1", "value2", "value3" ] ​​ labelArr: Array(3) [ "label1", "label2", "label3" ] ​​ <prototype>: O

嗨,伙计们,我正试图从中提取数据:

1) […]
​
0: {…}
​​
__v: 0
​​
_id: "5ba96b8ebffd923734090df4"
​​
formID: "5ba96b83bffd923734090df0"
​​
inputArr: Array(3) [ "value1", "value2", "value3" ]
​​
labelArr: Array(3) [ "label1", "label2", "label3" ]
​​
<prototype>: Object { … }
​
length: 1
​
<prototype>: Array []
1)[…]
​
0: {…}
​​
__v:0
​​
_id:“5ba96b8ebffd923734090df4”
​​
表格:“5ba96b83bffd923734090df0”
​​
inputArr:Array(3)[“value1”、“value2”、“value3”]
​​
labelArr:Array(3)[“label1”、“label2”、“label3”]
​​
:对象{…}
​
长度:1
​
:数组[]
我需要访问数据中的数组,即this.state.inputData(您在上面看到的是内容)

我试过了

const labels = inputDataArr[0].labelArr.map((r, index) => {
      return (
        <tr key={index}>
          <th>{index}</th>
          <th>{r[index]}</th>
        </tr>
      );
const labels=inputDataArr[0]。labelArr.map((r,索引)=>{
返回(
{index}
{r[index]}
);
但我的物品没有定义,有人知道为什么吗

编辑:其他问题呈现:

renderData(i) {
    const { inputDataArr } = this.state;
    return (
      !!inputDataArr.length &&
      inputDataArr[i].inputArr.map((input, index) => (
        <th key={index}>{input}</th>
      ))
    );
  }
  countLength() {
    const { inputDataArr } = this.state;
    return !!inputDataArr.length && inputDataArr[0].inputArr.length;
  }
  runThrough() {
    for (let i = 0; i < this.countLength; i++) return this.renderData(i);
  }
  render() {
    const data = this.runThrough();
    return (
      <div className="app">
        <table>
          <tr>{this.renderLabels()}</tr>
          {data}
        </table>
      </div>
    );
  }
}
renderData(一){
const{inputDataArr}=this.state;
返回(
!!inputDataArr.length&&
inputDataArr[i].inputArr.map((输入,索引)=>(
{input}
))
);
}
countLength(){
const{inputDataArr}=this.state;
return!!inputDataArr.length&&inputDataArr[0]。inputArr.length;
}
贯穿全文(){
for(设i=0;i
给出了另一个问题中的相同示例。不太确定这是否适合您,也许您需要更改并考虑一下

类应用程序扩展了React.Component{
状态={
inputDataArr:[
{
福美德:“3”,
输入端:[“值1”、“值2”],
labelArr:[“label1”、“label2”],
},
{
福美德:“3”,
输入端:[“值3”,“值4”],
labelArr:[“label3”、“label4”],
},
],
}
renderLabels(){
const{inputDataArr}=this.state;
return!!inputDataArr.length&&inputDataArr[0]。labelArr.map((标签,索引)=>
( 
{index}
{label}
) );
}
render(){
返回(
{this.renderLabels()}
);
}
}
ReactDOM.render(,document.getElementById(“根”);


您在映射中将
r
误认为是数组,它实际上是
inputArr
值之一。对不起,我不明白,inputdatarr是一个数组,我取[0]一个,它是一个对象,我选择的数组是labelarr这里的html
{r[index]}
应该是
{r}
我收到此错误:this.state.inputDataArr.labelArr未定义,即使this.state.inputDataArr已定义,我也可以看到我在上面发布的结构。请尝试
const labels=inputDataArr.labelArr
而不是
inputDataArr[0]
如果它不是数组。谢谢你的帮助,但最后一个问题我刚刚过滤了,一旦我不需要,我会得到一个ID为3的对象数组,所以在这个例子中,所有对象的ID都是3,它们的labelArr都是相同的,我只想制作一个包含数组中所有标签的表。如何相同?所有的them就像
[“label1”、“label2”、“label3”]
?所以这是您想要映射的唯一数组?让我们来吧。如果您不能参加官方文档的聊天讨论。如果
!!
部分让您困惑,我将在一分钟内添加一个更简单的
If
方法。不要像这样扩大您的老问题:)问一个新问题,并尝试给出所有细节。另外,不要为循环使用
,使用
map
或其他方法。我暂时不在这里,但当你问一个新问题并提供详细信息时,人们会尽力帮助你。