Wil*_*ham 5 javascript arrays for-loop javascript-objects
可能重复:
循环通过Json对象
{
"data": [
{
"name": "Jen",
"id": "1"
},
{
"name": "Steve",
"id": "8"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我正在与之交互的服务器响应上述内容.
我正在尝试enter code here为For..in语句循环遍历它.
这就是我想要做的:
for (var item in response.data) {
console.log(item.name);
}
Run Code Online (Sandbox Code Playgroud)
这不起作用.什么地方出了错?
谢谢
在阅读评论后,我认为可以使用以下内容:
for (var item in response.data) {
console.log(response.data[item].name);
}
Run Code Online (Sandbox Code Playgroud)
我能够得到一份名单......
有人可以解析它的工作原理吗?
Mic*_*ski 10
data实际上是一个数组(用表示[]),而不是一个对象,所以你想要一个常规for循环而不是一个for in.
for (var i = 0; i<response.data.length; i++) {
// use i as an array index
console.log(response.data[i].name);
}
Run Code Online (Sandbox Code Playgroud)
在JavaScript中,for in构造用于迭代对象属性,但是为了迭代数组,通常使用增量for循环.
查看:为什么在数组迭代中使用“for...in”是一个坏主意?
For...in 迭代对象的属性名称。数组项也被视为“属性”,因此 for..in 迭代索引(在您的情况下为 0、1)。正如预期的那样,当您使用 response.data[0] 时,您将获得数组的第一个元素。