我有一个包含子数组的数组,主数组包含自定义键;用作标识符。 问题是我无法使用这些键设置访问数组,例如:
array.length - 当显然有值
时返回0在控制台中:
[evt1:Array [0],evt2:Array [0]]
evt1:数组[0]
evt2:数组[0]
当更改回标准索引(0,1,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]}