簡體   English   中英

Javascript - 訪問關聯數組值時出錯

[英]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] 循環來獲取數組的值。

我將列出您查詢中所有明顯的問題

  1. “位置”數組似乎是另一個 object 的一部分
  2. “locations”數組的所有元素都是String類型,因此locations[i].location_id將不起作用,因為“點”運算符期望 object

建議

  1. 確保“位置”是一個對象數組,格式正確,例如:
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.

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