【问题标题】:How to access the value in array inside object [closed]如何访问对象内部数组中的值[关闭]
【发布时间】:2020-03-01 05:19:12
【问题描述】:

大家好,我是 Angular 新手,请帮助我如何访问对象内部的值。我想访问这个数组中的 SuccessCount

这是我的尝试

goodResponse=[
    {compId: 1, companyName: "A", pendingCount: 0, successCount: 0, apiErrorCount: 0, …}
   {compId: 1, companyName: "B", pendingCount: 0, successCount: 0, apiErrorCount: 0, …}
   {compId: 3, companyName: "C", pendingCount: 0, successCount: 0, apiErrorCount: 0, …}
    {compId: 4, companyName: "D", pendingCount: 0, successCount: 0, apiErrorCount: 0, …}
]

let _graphTotal = this.goodResponse;
let _graphTotalCount = []
_graphTotal.forEach(element => {
   console.log("total Count", element[0].successCount)
});

【问题讨论】:

  • 试试element.successCount而不是element[0].successCount
  • 我试过但它返回 0
  • 因为提供的对象有successCount: 0

标签: javascript arrays angular typescript foreach


【解决方案1】:

当您使用 ForEach 循环运行时,每个“元素”都是数组中的一个数据,因此您需要编写:

element.successCount

【讨论】:

    【解决方案2】:

    由于您正在迭代数组 goodResponse,因此您需要访问该对象,所以它应该像

    _graphTotal.forEach(element => {
       console.log("total Count", element.successCount)
    });
    

    【讨论】:

      【解决方案3】:

      您需要访问当前元素的successCount,而不是尝试访问不存在的successCount元素。

      _graphTotal.forEach(element => {
         console.log("total Count", element.successCount)
      });
      

      【讨论】:

      • 我试过但它返回 0
      • @yahiyarockz 是的,它将返回 0,因为这是您将值硬编码到问题中的方式
      • 请解释您的预期结果是什么以及为什么?
      【解决方案4】:

      element[0].successCount 替换为element.successCount

      【讨论】:

      • 我试过但它返回 0
      • 我试过但它返回 0
      • 在您的代码中,successCount 的所有实例都设置为 0。这是预期的结果。
      • 请说明您的预期结果是什么以及为什么?
      【解决方案5】:

      map 中的每个元素都返回一个对象。这样 map 返回的第一个元素将是数组的第 0 个索引。现在你有一个对象作为你的第一个元素,你需要使用 dot(.) 来访问对象内部。这样函数就变成了element.successCount

      【讨论】:

        猜你喜欢
        • 2018-08-24
        • 2021-08-25
        • 2015-05-04
        • 1970-01-01
        • 1970-01-01
        • 2020-10-23
        • 1970-01-01
        相关资源
        最近更新 更多