Javascript包含子数组的数组键

时间:2014-04-23 20:09:54

标签: javascript arrays

我有一个包含子数组的数组,主数组包含自定义键;用作标识符。 问题是我无法使用这些键设置访问数组,例如:

array.length - 当显然有值

时返回0

在控制台中:

  

[evt1:Array [0],evt2:Array [0]]   
evt1:数组[0]   
evt2:数组[0]

当更改回标准索引(0,1,2)时,可以访问该数组 - 并且正常执行。为什么会这样?

由于

2 个答案:

答案 0 :(得分:1)

如评论中所述,您没有使用数组,而是使用对象。使用Object.keys(your_object).length获取长度,并浏览索引:

for(var index in your_object){
    console.log(index,your_object[index]);
} 

你也可以这样做:

var indexes=Object.keys(your_object);
for(var i=0;i<indexes.length;i++){
    console.log(indexes[i], your_object[indexes[i]]);
}

答案 1 :(得分:1)

数组(与javascript中的许多其他内容一样)可以具有与对象类似的属性,但是,数组属性不计入数组的长度。您应该使用的是一个对象作为包含您的keys-&gt;数组的外部结构。

{evt1: Array[0], evt2: Array[0]}