2010-01-04 23 views
10

Bir nesneyi anında yayınlamak mümkün mü? Bunun gibi :Dinamik nesne literal?

var arr = [ 'one', 'two', 'three' ]; 

var literal = {}; 

for(var i=0;i<arr.length;i++) 
{ 
    // some literal push method here! 

    /* literal = { 
     one : "", 
     two : "", 
     three : "" 
    } */ 
} 

Böylece ben böyle olmasını sonucunu istiyorum:

literal = { 
     one : "", 
     two : "", 
     three : "" 
    } 

cevap

19
for (var i = 0, l = arr.length; i < l; ++i) { 
    literal[arr[i]] = "something"; 
} 

Ben de sizin döngü :)

+1

Daha da fazlası ct, 'için olurdu (arr' da var) {literal [arr [i]] = ''; } ':) –

+7

@Tatu, 'for..in' yapısını kullanarak diziler arasında geçiş yapmamalısınız. – James

+2

Daha iyi olurdu, 'var i = arr.length; (i--) {literal [arr [i]] = "bir şey"} –

4

bunu kullanın optimize özgürlüğümü senin döngü:

literal[arr[i]] = "";