10

是否可以动态创建对象文字?像这样:

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 : ""
    } 
4

3 回答 3

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

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

于 2010-01-04T10:40:00.643 回答
4

在你的循环中使用它:

literal[arr[i]] = "";
于 2010-01-04T10:40:56.290 回答
0

for...of为了简单起见,您可以使用:

for (const key of arr) {
   literal[key] = "";
}
于 2018-08-09T11:46:44.730 回答