Javascript 填充的数组项上的After map函数似乎为空
我有一个组件,它用信息呈现两个独立的表。每个表都有自己的数组,通过map函数从中提取数据,并将每个元素转换为表数据元素。第一个表显示正确,但是,当我到达第二个表时,在使用map函数之后,元素看起来是空的 当我在Mozilla浏览器的调试器中检查这个问题时,我看到的是,在第一点上一切都很好——数组不是未定义的,它有它的元素。之后,在map函数中,x元素就是它应该是的元素。不过,当我想从x中选取一个特定的对象时,一切都很好,因为x本身就是一个对象,它包含许多不同的键和值,例如x.name,这个名称是未定义的。看来钥匙还没有定义。也许我没有正确地存储对象 问题出现在newShips.map的第二个表DOM结构中Javascript 填充的数组项上的After map函数似乎为空,javascript,reactjs,user-interface,return,map-function,Javascript,Reactjs,User Interface,Return,Map Function,我有一个组件,它用信息呈现两个独立的表。每个表都有自己的数组,通过map函数从中提取数据,并将每个元素转换为表数据元素。第一个表显示正确,但是,当我到达第二个表时,在使用map函数之后,元素看起来是空的 当我在Mozilla浏览器的调试器中检查这个问题时,我看到的是,在第一点上一切都很好——数组不是未定义的,它有它的元素。之后,在map函数中,x元素就是它应该是的元素。不过,当我想从x中选取一个特定的对象时,一切都很好,因为x本身就是一个对象,它包含许多不同的键和值,例如x.name,这个名称是
return (
<div className="row">
<div className="col-md-6">
<MDBContainer className="float-left">
<MDBRow>
<MDBCol md="6">
<p className="h5 text-center mb-4">Create Your Playlist</p>
</MDBCol>
</MDBRow>
<div>
<MDBTable hover>
<MDBTableBody>
{this.state.info.map(x => {
return <Fragment>
<tr>
<td>
{x.name}
</td>
<button onClick={() => this.addToList(x)}>
Add To Playlist
</button>
</tr>
</Fragment>
})}
<button onClick={this.setPreviousPage} className="float-left">previous page</button>
<button onClick={this.setNextPage} className="float-right">next page</button>
</MDBTableBody>
</MDBTable>
</div>
</MDBContainer>
</div>
<div className="col-md-6">
<MDBContainer className="float-right">
<MDBRow>
<MDBCol md="6">
<p className="h5 text-center mb-4">My Playlist</p>
</MDBCol>
</MDBRow>
<div>
<MDBTable hover>
<MDBTableBody>
{newShips.map(x => {
return <ul>
<li>
{x.name}
</li>
<button>Remove from Playlist</button>
</ul>
})}
<button onClick={this.setPreviousPage} className="float-left">previous page</button>
<button onClick={this.setNextPage} className="float-right">next page</button>
</MDBTableBody>
</MDBTable>
</div>
</MDBContainer>
</div>
</div>
)
我希望显示对象的名称键,但如果x对象有值,为什么名称属性未定义?如果数组不为null,请尝试下面的代码段- var self=这个 self被用来维护对原始文档的引用,即使上下文在变化 现在, 希望有帮助!
祝你好运 显然今天早上我把它整理好了!问题是->在控制台将数组记录到浏览器中后,我注意到在对象的开头有这样一个“0”:
0: Object { name: "EF76 Nebulon-B escort frigate", model: "EF76 Nebulon-B escort frigate", manufacturer: "Kuat Drive Yards", … }
因为我映射的数组里面有很多数组,每个数组都包含每个单独的对象和这个“0”,所以我想可能与索引有关。所以我放了一个[0]:
{ship[0].name}
这就是成功 请创建一个,以便有人能够更轻松地帮助您。感谢您的尝试!不幸的是,在我在render方法中定义并替换它之后,它显示了相同的结果。。。
{ship[0].name}