2010-01-04 22 views
10

是否可以立即創建對象文字? 像這樣:javascript中的動態對象文字?

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

var literal = {}; 

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

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

因此我想要的結果是這樣的:

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

回答

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

我也參加了優化環路:)

+1

更多相關ct將是'for(var i arr){literal [arr [i]] =''; }':) – 2010-01-04 10:52:09

+7

@Tatu,你不應該使用'for..in'構造來遍歷數組。 – James 2010-01-04 10:53:50

+2

更好的是'var i = arr.length; while(i--){literal [arr [i]] =「something」}' – 2010-01-04 11:37:38

4

使用此在的自由你loop:

literal[arr[i]] = "";