[英]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.