【问题标题】:How can I access the property of a nested object in Javascript? [duplicate]如何在 Javascript 中访问嵌套对象的属性? [复制]
【发布时间】:2017-02-07 11:04:51
【问题描述】:

我需要一些帮助来访问嵌套在另一个对象中的对象的属性值。

我有这个代码:

 var userStats = {
  'Jacob': {
    visits: 1
  },
  'Owen': {
    visits: 2
  },
  'James': {
    visits: 3,
  },
  'Ann': {
    visits: 4
  }
};

我想要做的是访问访问的价值。

我试过了:

for(var firstName in customerData){
  console.log(firstName.visits);
}

但它不起作用。它输出“未定义”。

非常感谢任何帮助。

【问题讨论】:

  • customerData[firstName].visits.

标签: javascript object properties


【解决方案1】:

其中firstName 是一个字符串,它是对象的属性名称(或键),因此使用该字符串获取对象。

for(var firstName in customerData){
  console.log(customerData[firstName].visits);
}

var customerData = {
  'Jacob': {
    visits: 1
  },
  'Owen': {
    visits: 2
  },
  'James': {
    visits: 3,
  },
  'Ann': {
    visits: 4
  }
};


for (var firstName in customerData) {
  console.log(customerData[firstName].visits);
}

【讨论】:

  • 或者地球人这么称呼它:一把钥匙
【解决方案2】:

我已将customerData 设为“客户”对象数组,您可以通过在 for 循环中将 in 替换为 of 轻松迭代它们。

for (var customer of customerData)

示例:

 var customerData = [
   {
     firstName: 'Jacob',
     visits: 3
   }, 
   {
     firstName: 'bocaj',
     visits: 2
   }
 ];

 for (var customer of customerData) {
   console.log(customer.firstName, customer.visits);
 }

【讨论】:

  • 感谢大家的贡献。我发现 Pranav 的解决方案简单明了,并且按预期工作。
猜你喜欢
  • 1970-01-01
  • 2019-08-25
  • 2016-07-13
  • 2020-08-09
  • 2012-11-12
  • 2021-03-12
  • 2015-02-08
  • 1970-01-01
  • 2018-07-14
相关资源
最近更新 更多