我想使Javascript对象动态化

时间:2018-06-29 14:17:27

标签: javascript object dynamic

这里是代码

var str = "Value1";

var str1 = "Value2";

var obj = {
  [str]: str1
};

console.log(obj);

我将obj设为

{
    Value1:"Value2"
}

但是我希望该对象为

{
    "Value1":"Value 2"
}

任何人都可以解释这是怎么可能的吗?

1 个答案:

答案 0 :(得分:-2)

首先,您的代码:var obj = {["Value1"]: "Value2"};是错误的。你必须写: var obj = {"Value1": "Value2"};var obj = {Value1: "Value2"};

然后,如果我对您的理解正确:您在评论中写道:

  

我想让Value1的双引号太动态意味着我也希望动态索引的双引号

答案:

对象{Value1:"Value2"}{"Value1":"Value2"}相同。区别仅在于显示(拼写,编写)代码。

例如,如果执行以下代码,您将看不到区别:

var myObj1 = {"Value1":"Value2"};
var myObj2 = {Value1:"Value2"};

console.log(myObj1.Value1); //Value2
console.log(myObj2.Value1); //Value2

console.log(myObj1["Value1"]); //Value2
console.log(myObj2["Value1"]); //Value2

console.log(JSON.stringify(myObj1)); //{"Value1":"Value2"}
console.log(JSON.stringify(myObj2)); //{"Value1":"Value2"}