簡體   English   中英

遍歷對象數組?

[英]Iterating over an array of objects?

以下是我從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進行flightPlanCoordinates ,這一切都很好,我嘗試了以下操作:

$.each(flightPlanCoordinates, function(index) { 

}

但這是行不通的,如果我記錄了flightPlanCoordinates的長度,結果為0,但是在Firefox Dev工具中,我可以在flightPlanCoordinates看到正確的值。

我將如何去做呢? 有沒有比我在這里做的更好的方法?

請更換

var flightPlanCoordinates = [];

var flightPlanCoordinates = {};

它應該是一個對象,因為您使用flightPlanCoordinates[this.name]類的屬性對其進行了設置,其中this.name是字符串,而不是索引。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM