2016-07-22 66 views
-1

我看到一些例子,但都沒有幫助我。我想要循環訪問這個數據結構,並在我的示例中找到並使用值打印城市名稱。我不知道如何做循環。如何在JavaScript中循環嵌套數組和對象

var cities = { 
    "seattle": [ {"latitude" : 47.6062}, {"longitude": 122.3321} ], 
    "jacksonville": [ {"latitude" : 0.3322 }, {"longitude" : 81.6557}] 
} 

回答

1

遍歷您的JSON對象:

var cities = { 
 
     "seattle": [ {"latitude" : 47.6062}, {"longitude": 122.3321} ], 
 
     "jacksonville": [ {"latitude" : 0.3322 }, {"longitude" : 81.6557}] 
 
    } 
 

 
    Object.keys(cities).forEach(function(city){ 
 
    console.log(city); 
 
    console.log(cities[city][0]["latitude"]); 
 
    console.log(cities[city][1]["longitude"]); 
 
    });

即使最好的解決辦法是改變你的JSON。刪除具有經度和緯度的陣列,只是有這兩個屬性的一個對象,像這樣:

var cities = { 
    "seattle": {"latitude" : 47.6062 , "longitude": 122.3321}, 
    "jacksonville": {"latitude" : 0.3322 , "longitude" : 81.6557} 
} 

這樣做,你將能夠通過它與下面的循環迭代:

Object.keys(cities).forEach(function(city){ 
console.log(city); 
console.log(cities[city]["latitude"]); 
console.log(cities[city]["longitude"]); 
});