javascript中的动态对象文字?

mar*_*rko 10 javascript object-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 : ""
    }  */ 
}
Run Code Online (Sandbox Code Playgroud)

因此我希望结果如下:

 literal = {
        one : "", 
        two : "",
        three : ""
    } 
Run Code Online (Sandbox Code Playgroud)

Jam*_*mes 20

for ( var i = 0, l = arr.length; i < l; ++i ) {
    literal[arr[i]] = "something";
}
Run Code Online (Sandbox Code Playgroud)

我也冒昧地优化你的循环:)

  • @Tatu,你不应该使用`for..in`结构循环遍历数组. (7认同)
  • 更好的是`var i = arr.length; while(i--){literal [arr [i]] ="something"}` (2认同)