0

我有一个包含可变数量数组的对象。属性标题始终是一个数字(如此处:15、117)。我可以简单地使用names[15]names[117]访问数组,但是由于数据请求,这些值会不断变化。

我怎样才能将它们作为“第一个”或“第二个”访问???

var names = {
    15: Array[1];
    117: Array[1];
};

如果这不起作用,我尝试了一个 for...in 循环将数组存储在变量中,但它并没有真正奏效:

var name1, name2;

for(var key in names){
    if(name1){name2 = names[key];}
    if(!name1){name1 = names[key];}
}

一旦有更多数组,它就会用 name2 覆盖 name1 等等......

知道如何解决这个问题吗?谢谢你的时间。

4

3 回答 3

1

我删除了我之前的答案,因为我认为不准确。js小提琴

var names ={1: ["a","b"],2:["c","d"],3:["e","f"]}

var nameArr=[],i=0; for(var key in names){ nameArr[i++] = names[key]; }

for(i=0;i<nameArr.length;i++)
alert(nameArr[i]);
于 2013-07-26T14:45:32.813 回答
0

是的,像这样访问它们是绝对正确的。我的问题是,我必须将它们单独存储为变量,然后将它们传递给一个看起来像这样的函数:

var a = name[key];//the first object-property (how to store??)
var b = name[key];//the second object-property (how to store??) 

function doSomething(a,b){
//do something usefull
}
于 2013-07-26T13:26:26.507 回答
0

有一个例子,你可以如何使用循环访问你的对象的属性:http: //jsfiddle.net/Y7mHB/

var names = {
    15: '15',
    117: '117'
};

for(var key in names) {
    alert(key + ' ' + names[key]);   
}
于 2013-07-26T10:34:53.970 回答