2017-04-06 116 views
1

所以,我有一个对象数组,看起来像这样访问嵌套的对象(及其数据):在地图功能

var renderBottles = bottleArray.map(bottle => (
    <div> {bottle.bottleId} - {bottle.qty} <a href='#' onClick={() => this.props.store.del(0)}>X</a></div> 
)) 

这一切工作得很好!

但是,我想在我的地图循环中访问第一个对象。

Highlighted object

因为我与火力的工作,这个名字是随机的,所以我的问题是:我如何引用基于其在对象数组位置该对象以及如何我所有检索嵌套数据在地图功能的同时?

这可能吗?

Nested Object Data

我一直在摆弄现在用这一段时间没有得到任何地方,希望得到任何帮助。

谢谢!

+0

它是完全随机的吗?或者它是否包含任何共同的东西 –

+0

该值是由firebase自动生成的,尽管它不完全是随机的,但我认为它不应该以任何方式被视为“可预测的”。 – Hookkid

回答

0

如果请求的对象类型的object你可以做

for(var key in bottle) { 
    if(typeof bottle[key] === 'object') { 
     // bottle[key] is the desired object 
    } 
} 
+0

嘿,谢谢你的回答!我引用了上面提到的同样的评论,因为我认为它也适用于此:我尝试过类似的方法,它在某种程度上工作(我可以检索嵌套的对象数据),但我仍然无法“合并”它与地图功能中的其他相关信息进行比较。 如果我在我的地图功能中使用了{bottle.-KbseOJMQkbUafy9rvJo.discountedPrice},它会起作用,所以我正在寻找一种解决方法,如果你赶上了我的漂移,我会在{bottle。[0] .discountedPrice}之类寻找解决方法。 – Hookkid

0

我相信你正在使用ES6语言的唯一价值。如果随机密钥对象是数组集合中唯一的对象,则现在可以执行以下操作:

for (let key in bottleArray) { 
    if(typeof bottleArray[key] === 'object') { 
     let innerObj = bottleArray[key]; 
     //use innerObj['discountedPrice'] etc. 
    } 
} 
+0

嘿,谢谢你的回答!我尝试了类似的方法,它在某种程度上工作(我可以检索嵌套的对象数据),但在map函数中,我仍然无法将它与其他相关信息“合并”。 如果我在我的地图功能中使用了{bottle.-KbseOJMQkbUafy9rvJo.discountedPrice},它会起作用,所以我正在寻找一种解决方法,如果你赶上了我的漂移,我会在{bottle。[0] .discountedPrice}之类寻找解决方法。 – Hookkid