Javascript 为什么这个对象不是数组

Javascript 为什么这个对象不是数组,javascript,arrays,Javascript,Arrays,我不是一个喜欢Javascript的人,但我继承了其中的乐趣。到目前为止还不错 在firebug中,我的javascript对象如下所示 这表明数组sss中有4个项目(0、1、2和3) 当我展开其中一个元素时,我看到了复杂性 根据我自己的测试,这些是而不是数组。它们只是被当作对象(或者看起来是这样) 在每个数据项中,都有一个对象,您可以将其命名为lzabel。每个数据项都有这个值。我需要读取for循环中的值 所以,我希望使用 for (var i = 0; i < sss[0];i++

我不是一个喜欢Javascript的人,但我继承了其中的乐趣。到目前为止还不错

在firebug中,我的javascript对象如下所示

这表明数组
sss
中有4个项目(0、1、2和3)

当我展开其中一个元素时,我看到了复杂性

根据我自己的测试,这些是
而不是
数组。它们只是被当作对象(或者看起来是这样)

在每个数据项中,都有一个对象,您可以将其命名为lzabel。每个数据项都有这个值。我需要读取for循环中的值

所以,我希望使用

for (var i = 0; i < sss[0];i++)
{
    var z = sss[0][i]; //This is never executed
}   

Firebug报告t1=4,t2未定义

您应该能够像这样循环:

for (i in sss[0]) {
    var z = sss[0][i];
}
要得到伊扎贝尔

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
}
像这样的

for (var i = 0; i < sss[0];i++)
{
    var z = sss[0][i]["lzabel"];
}   
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);
  }
 }

for(i=0;iLop超过对象的属性?“因为签署了各种保密协议”-不相关。我们不需要实际的代码。任何复制问题的最小代码都可以。实际上,我说的是屏幕截图被以这种方式剪切,我的评论只是出于礼貌!
i
未定义(尽管它现在在循环中执行)!
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);
  }
 }