如何在打字稿中访问对象响应数组

时间:2019-02-11 16:31:52

标签: angular typescript

我从API得到响应,这是我使用console.log(myArray)查看时的响应。

我需要用TypeScript Angular 6编写代码。

Output:Array(2)

 0:{ q1: 2
       q2:. 1
        __proto__: Object
     }
 1:{ q1: 2
       q2:. 1
      __proto__: Object
    }
 ___proto__: Array(0)
__proto__:object

现在我需要获取数组中q1和q2的值。我尝试过,但是我做不到。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

因此,您的数组中包含2个元素。

1 st是{q1: 2, q2:..}

2 nd也是{q1: 2, q2:..}

它看起来像这样:[{q1: 2, q2: ..}, {q1: 2, q2: ..}]

因此,您需要q1和q2的值不在数组中吗? 好吧,您在两个单独的对象中有q1 / q2的两个副本。目前尚不清楚它们是否相同。

如果只需要数组中第一个对象的q1 / q2,则可以执行以下操作:

let arr = [{q1: 2, q2: 3}, {q1: 2, q2: 3}]
arr[0].q1 // this is q1
arr[0].q2 // this is q2

如果每个对象中的q1 / q2值不同,并且您需要q1 / q2的所有值,那么您将需要遍历数组并逐个获得q1 / q2。像这样:

let arr = [{q1: 2, q2: 3}, {q1: 2, q2: 3}]
arr.forEach(obj => console.log(obj.q1, obj.q2));

答案 1 :(得分:0)

这是您的解决方案:

result = [];
getResult(myArray) {
  for(let i = 0;i < myArray.length;i++) {
    this.result.push(myArray[i]['q1']);
    this.result.push(myArray[i]['q2']);
   }
console.log(this.result);
return this.result;
}