Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在映射函数中访问嵌套对象(及其数据)_Javascript - Fatal编程技术网

Javascript 在映射函数中访问嵌套对象(及其数据)

Javascript 在映射函数中访问嵌套对象(及其数据),javascript,Javascript,所以我有一个对象数组,看起来像这样: var renderBottles = bottleArray.map(bottle => ( <div> {bottle.bottleId} - {bottle.qty} <a href='#' onClick={ () => this.props.store.del(0)}>X</a></div> )) 然后,我使用映射函数创建html渲染字符串,如下所示: var renderBot

所以我有一个对象数组,看起来像这样:

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

然后,我使用映射函数创建html渲染字符串,如下所示:

var renderBottles =  bottleArray.map(bottle => (
  <div> {bottle.bottleId} - {bottle.qty} <a href='#' onClick={ () => this.props.store.del(0)}>X</a></div>
))
var renderBottles=bottleArray.map(瓶=>(
{瓶子.瓶子ID}-{瓶子.数量}
))
这一切都很好

但是,我希望在映射循环期间访问第一个对象

因为我使用的是firebase,该名称是随机的,所以我的问题是:如何根据对象数组中的位置引用该对象,以及如何在map函数中始终检索嵌套数据

这可能吗

我已经摆弄这个有一段时间了,现在没有任何进展,如果有任何帮助,我将不胜感激


谢谢

如果请求的对象是类型为
object
的唯一值,则可以执行以下操作

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

如果请求的对象是类型为
object
的唯一值,则可以执行以下操作

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

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

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

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

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

这完全是随机的吗?或者它会包含任何由firebase自动生成的值,所以,尽管它不是完全随机的,但我认为它不应该以任何方式被视为“可预测的”。它是完全随机的吗?或者它会包含任何由firebase自动生成的值,所以,尽管它不是完全随机的,但我认为它不应该以任何方式被视为“可预测的”。嘿,谢谢你的回答!我尝试过类似的方法,它在某种程度上确实有效(我可以检索嵌套对象数据),但在map函数中,我仍然无法将其与其他相关信息“合并”。如果我在映射函数中使用了{BATTLE.-KbseOJMQkbUafy9rvJo.discountedPrice},它会起作用,因此我正在寻找类似{BATTLE.[0]。discountedPrice}的解决方法,如果你明白我的意思的话。嘿,谢谢你的回答!我尝试过类似的方法,它在某种程度上确实有效(我可以检索嵌套对象数据),但在map函数中,我仍然无法将其与其他相关信息“合并”。如果我在映射函数中使用了{BATTLE.-KbseOJMQkbUafy9rvJo.discountedPrice},它会起作用,因此我正在寻找类似{BATTLE.[0]。discountedPrice}的解决方法,如果你明白我的意思的话。嘿,谢谢你的回答!我引用了我上面的评论,因为我认为它也适用于这里:我尝试过类似的方法,它在某种程度上确实有效(我可以检索嵌套的对象数据),但在map函数中,我仍然无法将其与其他相关信息“合并”。如果我在映射函数中使用了{BATTLE.-KbseOJMQkbUafy9rvJo.discountedPrice},它会起作用,因此我正在寻找类似{BATTLE.[0]。discountedPrice}的解决方法,如果你明白我的意思的话。嘿,谢谢你的回答!我引用了我上面的评论,因为我认为它也适用于这里:我尝试过类似的方法,它在某种程度上确实有效(我可以检索嵌套的对象数据),但在map函数中,我仍然无法将其与其他相关信息“合并”。如果我在映射函数中使用了{BATTLE.-KbseOJMQkbUafy9rvJo.discountedPrice},它就会工作,所以如果你明白我的意思,我正在寻找类似{BATTLE.[0].discountedPrice}的解决方法。