2011-12-09 18 views
0

我希望得到一个数组,看起来像这样的价值观:获取名称和值从阵列中的Javascript

t = new Object(); 
t.erg = new Array(); 
t.erg['random1'] = "something1"; 
t.erg['random2'] = "something2"; 
t.erg['random3'] = "something3"; 
t.erg['random4'] = "something4"; 

但我想通过一个循环,让他们的随机的名字,然后值,我无法找到一个方法来做到这一点:/

+0

的[如何列出一个JavaScript对象的属性]可能重复(http://stackoverflow.com/questions/208016/how-to-list-the-properties-of -a-JavaScript的对象)。 NB,[你正在使用'Array'错误地](http://andrewdupont.net/2006/05/18/javascript-associative-arrays-considered-harmful/)。 –

回答

2

你会使用的另一种形式的for循环:

for (x in t.erg) { 
    if (t.erg.hasOwnProperty(x)) { 
    alert("key is " + x + " value is " + t.erg[x]); 
    } 
} 
0

要获得一个随机值,你可以得到一个随机数,并追加到字符串“随机”的结尾。

像这样的东西可能会奏效:

var randomVal = "random" + Math.floor(Math.random()*4); 
0

要得到的东西的名字,你会用在循环,但你实际上是创建对象不是一个对象和数组。为什么不使用文字这样

t={ 
    erg:{ 
    'random1':'something1', 
    'random2':'something2' 
    } 
} 

for(var x in t.erg){ 
    //in the first round of the loop 
    //x holds random1 
}