javascript - 如何在 JavaScript 中使用键值作为变量名?

标签 javascript json variables object

<分区>

我希望能够将 JSON 带入我的程序,然后基于该数据创建对象。因此,我想创建对象,其中该对象的名称是存储在键值对中的值。例如,如果我有以下 JSON(我知道这不是完美的 JSON):

{
    "objectName" : "**variableName**",
    "someDataName" : "thatData",
    "someOtherDataName" : "thisData"
}

然后我希望能够制作这样的对象:

function myObject(thatData, thisData) {
    this.name = name;
    this.thatData = thatData;
}

var **variableName** = new myObject(thatData, thisData);

这里的关键是我希望能够使用ObjectName键值对中存储的值作为对象的变量名。这可能吗?我一直在寻找如何做到这一点。我相信这不同于 "Variable" variables in Javascript?因为我正在尝试使用键值对中的值来命名我的对象。

最佳答案

如果我正确理解您在这里尝试做什么,一种方法可能是在变量中设置属性:

let myContainer = {};
// ...
myContainer['whatever_variable_name'] = new ...

您可以如何使用 myContainer.whatever_variable_namemyContainer['whatever_variable_name'] 访问新对象。

要从 JSON 对象分配属性,请参阅 Object.assign .

关于javascript - 如何在 JavaScript 中使用键值作为变量名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37575243/

相关文章:

Javascript 不向函数传递值

php - 如何将结果输出到字符串变量中——这里出了什么问题?

javascript - 如何提交事件选项卡的表单?

javascript - Foundation zurb 导航栏

python - pandas读取json格式数据

java - 从 servlet 返回 JSONObject 抛出异常

ios - NSMutableDictionary 中的更改未反射(reflect)在父 NSDictionary 中

python - 按值复制变量而不是引用

javascript - 为什么 jquery.validate.js 会显示两次错误消息?

JavaScript super.constructor() 抛出 "must call before accessing this"异常