gpt4 book ai didi

javascript - 将变量按字面意思放入 JSON 中

转载 作者:行者123 更新时间:2023-11-28 21:06:16 29 4
gpt4 key购买 nike

我想使用 JavaScript 对象初始值设定项符号动态创建 JavaScript 对象,但从配置中获取键,因此而不是

var obj = {
'key' : 'some value'
};

我想要:

var config = {
myKeyName: 'key'
};

var obj = {
config.myKeyName : 'some value' // this will not work, just to illustrate
};

问题是如何放置 config.myKeyName 的值在这种情况下。

这可能吗?

编辑:我知道使用索引 ( [] ),但对于深度嵌套的对象,这不是一个选项。

最佳答案

从您的评论和编辑来看,您的问题似乎是:对于深度嵌套的对象,我可以让键是动态的,但仍然具有对象初始值设定项语法。

例如,不是:

var key1 = "a", key2 = "b", key3 = "c", obj;
obj = {}
obj[key1] = {};
obj[key1][key2] = {};
obj[key1][key2][key3] = 42;

但是

var obj = {
/*magic here using key1 to get "a"*/: {
/*magic here using key2 to get "b"*/: {
/*magic here using key3 to get "c"*/: 42
}
}
};

答案是否定的,除了eval之外没有任何方法可以做到这一点。对象初始值设定项中的键不能从变量派生。 [] 表示法是使用字符串定义属性名称的最佳选择(我能看到的唯一其他选项是 Object.defineProperty ,这会更糟并且是仅限 ES5)。对于深度嵌套的结构,听起来您需要某种递归工厂函数。

关于javascript - 将变量按字面意思放入 JSON 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9802413/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com