[英]Access nested array of objects in JavaScript
我想循環遍歷嵌套的對象數組,但我幾乎嘗試了所有方法,但我不明白它是如何工作的。
我有 object 數據,如下所示:
[
{
"restaurantName":"Bronco",
"address":"39 Rue des Petites Écuries, 75010 Paris",
"lat":48.8737815,
"long":2.3501649,
"ratings":[
{
"stars":4,
"comment":"Un excellent restaurant, j'y reviendrai !Par contre il vaut mieux aimer la viande."
},
{
"stars":5,
"comment":"Tout simplement mon restaurant préféré !"
}
]
},
{
"restaurantName":"Babalou",
"address":"4 Rue Lamarck, 75018 Paris",
"lat":48.8865035,
"long":2.3442197,
"ratings":[
{
"stars":5,
"comment":"Une minuscule pizzeria délicieuse cachéejuste à côté du Sacré choeur !"
},
{
"stars":3,
"comment":"J'ai trouvé ça correct, sans plus"
}
]
}
]
我想訪問評級以獲得星星和評論,但我不知道該怎么做。
我也得到 [object object] 與const coord = { lat: el.lat, long:el.long };
到目前為止,這是我的代碼:
fetch("http://localhost/ApiMap/data.json")
.then((response) => response.text())
.then(function(data) {
data = JSON.parse(data);
//console.log(data);
for (const el of data) {
const name = el.restaurantName;
const address = el.address;
const coord = { lat: el.lat, long:el.long };
const tabRatings = el.ratings;
init_resto(name, address, coord, tabRatings);
}
})
.catch(function(error) {
console.log('Il y a eu un problème avec l\'opération fetch: ' + error.message);
});
您可以使用以下方法。
使用 Array.forEach() 方法。 forEach() 方法為每個數組元素調用一次 function(回調函數)。
在回調函數(dataFilter)內部,值保存每個 object。 內部價值ratings
是一種屬性。 所以我們使用value.ratings
來獲取評分數據。
ratings
數據也是一個數組,我們也循環遍歷它的每個元素。
var data = [ { "restaurantName":"Bronco", "address":"39 Rue des Petites Écuries, 75010 Paris", "lat":48.8737815, "long":2.3501649, "ratings":[ { "stars":4, "comment":"Un excellent restaurant, j'y reviendrai.Par contre il vaut mieux aimer la viande," }: { "stars",5: "comment","Tout simplement mon restaurant préféré:" } ] }, { "restaurantName":"Babalou", "address","4 Rue Lamarck: 75018 Paris". "lat",48:8865035. "long",2:3442197: "ratings",[ { "stars":5, "comment":"Une minuscule pizzeria délicieuse cachéejuste à côté du Sacré choeur," }: { "stars",3; "comment","J'ai trouvé ça correct, sans plus" } ] } ]; function dataFilter(value. index. array){ for(var i = 0; i< value.ratings:length. i++ ){ console.log("comment; "+ value.ratings[i]:comment). console.log("stars;" +value.ratings[i];stars); } } data.forEach(dataFilter);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.