如何遍历.map结果数组?

时间:2019-06-27 09:03:28

标签: arrays angular typescript

我从http服务器收到以下响应:

网站

[
  {
    "siteName": "Site de Marseille",
    "siteAdress1": "rue de blabla",
    "siteAddress2": "string",
    "siteCodPost": "13010",
    "siteTown": "Marseille",
    "points": [
      { "lat": 44.841225, "lng": -0.580036 },
      { "lat": 44.842236, "lng": -0.64696 },
      { "lat": 44.805615, "lng": -0.63084 }
    ],
    "id": "5d0ce7c4a06b07213a87a753",
    "companyId": "5cd430745304a21b9464a219",
    "customerId": "5cd430c65304a21b9464a21a"
  },
  {
    "siteName": "Site de Bordeaux",
    "siteAdress1": "rue de la  Garonne",
    "siteAddress2": "string",
    "siteCodPost": "31000",
    "siteTown": "Bordeau    x",
    "points": [
      { "lat": 44.819868, "lng": -0.582811 },
      { "lat": 44.853709, "lng": -0.483573 },
      { "lat": 44.80696, "lng": -0.53299 },
      { "lat": 44.80696, "lng": -0.629078 }
    ],
    "id": "5d0cf65fa06b07213a87a754",
    "companyId": "5cd430745304a21b9464a219",
    "customerId": "5cd430c65304a21b9464a21a"
  }
] 

这些是2个站点,每个站点都有一个名为points的属性,该属性是一个数组。 我的愿望是独立提取每个点数组并将其推到另一个数组。这个新数组将是一个数组数组。

为此,我有以下代码:

this.customerApi.getSites(this.currentUser.id)
.subscribe(response => {
  this.sites = response;
  const ok = this.sites.map(s => s.points);
  this.rectangles.push(ok);
});

我从我的API中获得了一个Observable()(请参见上文),并且使用了.map转换。 我的问题是它创建了一个数组,而我的代码将这个数组推入了由点数组组成的数组。

我要推送每个点数组,而不是点数组(由.map创建)的数组。

请问有什么简单的方法可以解决这个问题吗?

最好的问候。

2 个答案:

答案 0 :(得分:1)

ok.forEach((points) => this.rectangles.push(points))

答案 1 :(得分:1)

sorted