我不是Javascript人,但继承了这些乐趣。到目前为止一切都很好。
我的javascript对象,在firebug中,看起来像这样
这表明数组sss
在数组中有4个项目(0,1,2和3)。
当我展开其中一个元素时,复杂性来了,我看到了
从我自己的测试中,这些是not
数组。它们只被视为对象(或者看起来如此)。
在每个DataItem中,有一个对象,您可以将其命名为lzabel。每个DataItem都有此值。我需要读取for循环中的值。
所以,我希望使用
for (var i = 0; i < sss[0];i++)
{
var z = sss[0][i]; //This is never executed
}
但不是!没有错误,但循环的内容永远不会执行(好像sss [0]没有项目)。
我如何像这样循环?
for (var i = 0; i < sss[0];i++)
{
var z = sss[0][i]["lzabel"];
}
修改
我添加了以下代码
var t1 = sss.length;
var t2 = sss[0].length;
Firebug报告t1 = 4
,t2未定义。
答案 0 :(得分:1)
要获得伊莎贝尔......
var sssData = sss[0]; // FYI: sss[0].length won't work because it's an object not an array
for (x in sssData) {
var dataItem = sssData[x];
console.log( dataItem.Izabel ); // one way to get Izabel property value
console.log( dataItem["Izabel"] ) // two ways to get Izabel property value
}
答案 1 :(得分:0)
你应该能够像这样循环:
for (i in sss[0]) {
var z = sss[0][i];
}
答案 2 :(得分:0)
这样的东西?
for(i=0;i<sss.length;i++){
for(j=1;j<parseInt(Object.keys(sss[i]).length)+1;j++){
console.log(sss[i]["DataItem"+j].Izabel);
}
}