我在读取数组的循环时遇到了一些麻烦:
$.jqplot.preDrawHooks.push(function () {
this.legend.show = true;
});
我在哪里错了?
答案 0 :(得分:3)
您需要遍历主数组中第一个元素的内部数组(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);
}
&#13;
虽然您可以使用 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);
});
&#13;
答案 1 :(得分:0)
从存储在myStringArray [0]中的对象访问id。
以下是修改后的代码: -
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);
}
答案 2 :(得分:0)
因为你的数组只有1个项目及其人员。 而且人们没有id属性。人们包含两个项目,每个人都有自己的身份。
for (var i = 0; i < arrayLength; i++) {
for(var j = 0; j < myStringArray[i].length; j++)
{
console.log(myStringArray[i][j].id);
}
}