javascript - 迭代对象数组?

标签 javascript jquery

这是我从 API 获得的一些示例数据:

{
  "Document": {
    "Placemark": [
      {
        "name": " V5-MJW",
        "address": "Aviation Road, Windhoek, Namibia",
        "description": [],
        "TimeStamp": {
          "when": "2016-05-21T06:12:00-04:00"
        },
        "styleUrl": "#asset7541",
        "Point": {
          "coordinates": "17.0829055,-22.598271,743"
         }
      },
      {
        "name": "GSatMicro80149",
        "address": "Unnamed Road, Lesotho",
        "description": [],
        "TimeStamp": {
          "when": "2016-05-11T04:52:00-04:00"
        },
        "styleUrl": "#asset7543",
        "Point": {
          "coordinates": "27.5594894,-29.456703,1659"
         }
      }
    ]
  }
}

这是我当前创建数组的代码:

var flightPlanCoordinates = [];

//data being the returned values from the API.
$.each(data.Document.Placemark, function () {

    var location = this.Point.coordinates.split(',');
    var loc = {lat: parseFloat(location[1]), lng: parseFloat(location[0])};

    flightPlanCoordinates[this.name] == null ? flightPlanCoordinates[this.name] = [] : flightPlanCoordinates[this.name].push(loc);
});

我有很多同名的地标,我想将每个具有不同名称的地标拆分到不同的数组中。

这一切都很好,直到我尝试遍历 flightPlanCoordinates,我尝试了以下操作:

$.each(flightPlanCoordinates, function(index) { 

}

但这不起作用,如果我记录 flightPlanCoordinates 的长度,结果为 0,但在 Firefox Dev 工具中我可以在 flightPlanCoordinates 中看到正确的值.

我该怎么做呢?有没有比我在这里做的更好的方法?

最佳答案

请更改

var flightPlanCoordinates = [];

var flightPlanCoordinates = {};

它应该是一个对象,因为您使用 flightPlanCoordinates[this.name] 等属性设置它,其中 this.name 是一个字符串,而不是索引。

关于javascript - 迭代对象数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38263259/

相关文章:

javascript - 避免局部最优训练 XOR

javascript - 为什么我不能更新我在 jQuery 中迭代的数据属性?

javascript - 使用 jQuery 和 CoffeeScript 未正确设置“this”

javascript - 单击链接关闭工具提示;如何防止这种情况

javascript - 登录多个帐户时无法使用 Google Drive API 共享对话框

javascript - 在 createElement() 上 react 生命周期方法

javascript - 元素上的 d3 鼠标悬停与 svg mousemove 冲突

jquery - 如何停止加载占位符并在 Jquery/CSS 中显示 div

jquery - 在 mouseenter 上浏览数组中的一组图像

javascript - 在 Javascript 中创建类的不同方法有名称吗?它们是什么?