[英]Javascript - Error when accessing an associative array value
我有一個數組,位置:
{
"locations":[
"{\"location_id\":\"1\",\"location_name\":\"Main Office\"}",
"{\"location_id\":\"6\",\"location_name\":\"Secondary\"}"
]
}
我試圖遍歷此數組以顯示位置 ID/名稱,但不斷收到未定義的錯誤。
for (var i = 0; i < locations.length; ++i) {
alert(locations[i].location_id);
}
如果我執行alert(locations[i])
,我可以看到該索引的各個數組內容,但似乎無法進一步查看 go 。
我覺得我錯過了一些非常簡單的東西,非常感謝任何幫助。 我讀過的所有內容都表明我應該能夠通過使用 for [i] 循環來獲取數組的值。
我將列出您查詢中所有明顯的問題
String
類型,因此locations[i].location_id
將不起作用,因為“點”運算符期望 object建議
let locations = [
{ location_id: 1, location_name: 'Main office'},
{ location_id: 2, location_name: 'any name' },
];
像這樣定義它:
let locations = [
{ location_id: 1, location_name: 'Main office'},
{ location_id: 2, location_name: 'any name' },
];
locations.forEach(location => {
alert(location.location_id);
});
或者,如果您的數據是 json 格式:
let json = '{ "locations": [ { "location_id": 3, "location_name": "Name" } ]}';
const data = JSON.parse(json);
data.locations.forEach(location => {
console.log(location.location_id);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.