问:我有一个数组,位置:
{
"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])了,我可以看到该索引的各个数组内容,但似乎没有办法再进一步了。
我觉得我错过了一些非常简单的东西,希望能得到任何帮助。我读过的所有内容都表明我应该能够通过使用 for [i] 循环来获取数组的值。
答:我将列出您查询中的所有明显问题
“位置”数组似乎是另一个对象的一部分
“位置”数组的所有元素都是类型,String因此locations[i].location_id不会像“点”运算符期望一个对象那样工作
建议
确保“位置”是一个正确格式化的对象数组,例如:
let locations = [
{ location_id: 1, location_name: 'Main office'},
{ location_id: 2, location_name: 'any name' },
];