【问题标题】:get lat and lng from array of objects on React从 React 上的对象数组中获取 lat 和 lng
【发布时间】:2018-08-14 10:34:46
【问题描述】:

我试图从这个数组中获取 lat 和 lng 属性,但是当我将它们记录到控制台时,我得到了这个:

3 ƒ (){return a} f () {return b}

steps_start_locations =[{"lat":45.2003571,"lng":12.122561899999937},
                       {"lat":45.200382,"lng":12.122545400000035},
                       {"lat":45.2046145,"lng":12.135933199999954}]

steps_start_locations.forEach( location => {
          var lat = location.lat;
          var lng = location.lng;
          console.log(lat + ' ' + lng)
      });

如何正确打印?

【问题讨论】:

  • 你打错了,你的变量是step_start_locations,而你正在迭代的变量是step(S)_start_locations。修复此问题可修复您的代码。
  • 修复变量名并从最后一行删除 : 时效果很好

标签: javascript arrays reactjs


【解决方案1】:

正如@Dan 和@guijob 的cmets 已经提到的,只需修复forEach 部分中的拼写错误并删除代码末尾的“:”即可。这是一个运行版本的代码的 sn-p:

step_start_locations =[{"lat":45.2003571,"lng":12.122561899999937},
                       {"lat":45.200382,"lng":12.122545400000035},
                       {"lat":45.2046145,"lng":12.135933199999954}]

step_start_locations.forEach( location => {
    var lat = location.lat;
    var lng = location.lng;
    console.log(lat + ' ' + lng)
});

【讨论】:

  • 我更正了它,但我得到的输出总是一样的。我正在使用 React.. 也许这就是它不起作用的原因?
  • sn -p 中显示的console.log 中的输出不一样。它正在迭代数组或纬度/经度值。 forEach 循环是否适合您?也许尝试使用 for 循环并仔细查看循环时正在控制哪些值。
  • 如果我用 for 循环来做,输出是一样的,( function (){return a} function (){return b})
  • 你的输出是不是和上面sn-p显示的不一样?我看不出你得到的输出与我的不同。也许你可以在你的问题中添加一个 sn-p 来显示你得到了什么?
  • 我发布了我的输出@MUlferts
【解决方案2】:

您可以试试这个并将您的反馈发回给我吗?你不应该有这个问题:

for (var i =0 ; i <steps_start_locations.lenght ;i++)
{
   var lat = steps_start_locations[i].lat;
   var lng = steps_start_locations[i].lng;
   console.log(lat + ' ' + lng)
}

【讨论】:

    猜你喜欢
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多