【问题标题】:Angular : get specific object key data jsonAngular:获取特定对象键数据json
【发布时间】:2020-01-28 13:33:56
【问题描述】:

我有以下数据 json 键对象

{
  "23ac54a": [
    25.226,
    54.9333
  ],
  "23ad09a": [
    24.9228,
    55.1319
  ],
  "23ad1b6": [
    24.8367,
    55.148
  ]
} 

我正在尝试将参数从第 1 页传递到第 2 页。因此,如果该参数在上述数据 json 中的值相同,我只想获取该对象键下的数据,具体取决于来自第 1 页的相同参数。

例如,如果第 1 页的参数是 23ad09a 并且他在该数据 json 中是相同的,我将只从上面的数据 json 中获取此 23ad09a 下的数据。

所以我的问题是可以使用 if 语句来做到这一点吗?如果它是我如何根据下面的代码编写功能?

我的代码

this.Data = JSON.parse(data.data);
console.log(this.Data)
this.points = Object.keys(this.Data)
  .map(key => this.Data[key])
  .map((position) => ({
    lat: position[1],
    lng: position[2],
  })).filter(position => position.lat && position.lng).forEach(i => {

      console.log(i.lat, i.lng)

      // our work is here


    })

【问题讨论】:

  • 问题不清楚

标签: json angular object


【解决方案1】:

如果我猜对了,您想过滤数据,例如按键 === "23ad09a" ?

我做了一个简单的 stackblitz 来向你展示如何做到这一点。

我可以看到您使用位置 [1] 和位置 [2],但您应该从 [0] 开始。

我加了

.filter(key => key === '23ac54a')

其中 '23ac54a' 可以替换为变量。

https://stackblitz.com/edit/typescript-aoh2h3

(不要忘记在stackblitz中展开控制台查看打印结果)

【讨论】:

  • 你的权利就是我想要的。但是在你的路上,我只会得到那个对象键 23ac54a 下的数据,对吧?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-06
  • 2021-02-12
  • 2022-01-21
  • 2017-02-15
  • 1970-01-01
  • 2017-07-03
相关资源
最近更新 更多