2015-08-19 41 views
1

我在function创建对象:如何在javascript中动态命名对象中的元素?

createObject(attr) { 
    return { 
     attr: "test" 
    } 
} 

我希望attrfunction parameter命名。现在我结束了这个对象:

{ 
    attr: "test" 
} 

我该怎么做?

+0

方括号标记 – sircapsalot

+1

可能的[此]重复(http://stackoverflow.com/questions/2462800/how-to-create-a-dynamic-key-to-be-added-to-a-javascript-object-variable)and [this](https://stackoverflow.com/questions/695050/如何做我添加一个属性到一个JavaScript对象使用一个变量名称) – sircapsalot

回答

4

创建一个新对象并使用括号表示法来设置属性。

function createObject(attr) { 
    var obj = {}; 
    obj[attr] = "test"; 
    return obj; 
} 
+0

:D ...我刚刚张贴t他同样的答案:D(rofl)... –

0

这样?

createObject(attrName) { 
    var obj = {}; 
    obj[attrName] = 'test'; 
    return obj; 
} 
2

我提出这个笔来展示如何来构造对象:

http://codepen.io/dieggger/pen/pJXJex

//function receiving the poarameter to construct the object 
var createObject = function(attr) { 
    //custom object with one predefined value. 
    var myCustomObject = { 
    anything: "myAnything", 
    }; 

//adding property to the object 
    myCustomObject[attr] = "Test"; 

//returning the constructed object 
    return myCustomObject; 

} 

//invoking function and assigning the returned object to a variable 
var objReturned = createObject("name"); 

//simple alert , to test if it worked 
alert(objReturned.name); 
相关问题