[英]Javascript array loop variable undefined
I am having a bit of trouble with a loop that reads an array: 我在读取数组的循环时遇到了一些麻烦:
var myStringArray = [{
"people": [{
"id": "123",
"name": "name 1"
}, {
"id": "456",
"name": "name 2"
}]
}];
var arrayLength = myStringArray.length;
for (var i = 0; i < arrayLength; i++) {
console.log(myStringArray[i].id);
}
Where am I going wrong here? 我在哪里错了?
You need to iterate over the inner array( people
property of the first element in the main array). 您需要遍历内部数组(主数组中第一个元素的people
属性)。
var myStringArray = [{ "people": [{ "id": "123", "name": "name 1" }, { "id": "456", "name": "name 2" }] }]; var arrayLength = myStringArray[0].people.length; for (var i = 0; i < arrayLength; i++) { console.log(myStringArray[0].people[i].id); }
Although you can use Array#forEach
method. 虽然您可以使用Array#forEach
方法。
var myStringArray = [{ "people": [{ "id": "123", "name": "name 1" }, { "id": "456", "name": "name 2" }] }]; myStringArray[0].people.forEach(function(v) { console.log(v.id); });
Access id from object stored in myStringArray[0]. 从myStringArray [0]中存储的对象访问id。
Here is the modified code:- 这是修改后的代码: -
var myStringArray = [
{
"people":[
{"id":"123","name":"name 1"},
{"id":"456","name":"name 2"}
]
}
];
var array = myStringArray[0].people,
arrayLength = array.length;
for (var i = 0; i < arrayLength; i++) {
console.log(array[i].id);
}
because your array only haw 1 item and its people. 因为你的数组只有1个项目和它的人。 and people don't has id property. 而且人们没有id属性。 the people contains two item that every one has their id. 人们包含两个项目,每个人都有自己的身份。
for (var i = 0; i < arrayLength; i++) {
for(var j = 0; j < myStringArray[i].length; j++)
{
console.log(myStringArray[i][j].id);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.