gpt4 book ai didi

javascript - 对象键中的点

转载 作者:行者123 更新时间:2023-11-29 17:13:48 24 4
gpt4 key购买 nike

这可能以前有人问过,但我找不到任何主题。

我有一个包含常量的对象,我想将其用作对象列表中的键:

//CONSTANTS.Foo === 1
//CONSTANTS.Bar === 2
var list = [{ CONSTANTS.Foo: 'foo' }, { CONSTANTS.Bar: 'bar' }];

这显然是一个无效的语法。我应该如何解决这个问题?我正在考虑 Array.map(),但我希望得到您的意见。

http://jsfiddle.net/wKYe6/

最佳答案

你不能有带有动态键的对象字面量,你需要在对象初始化后添加属性:

var o, list = [];
o = {}; o[CONSTANTS.Foo] = 'foo'; list.push(o);
o = {}; o[CONSTANTS.Bar] = 'bar'; list.push(o);

当然,如果您在常量和值之间有某种已知关系,您可以自动执行此构造或使其干燥。

你也可以这样做:

var list = [{ Foo: 'foo' }, { Bar: 'bar' }].map(function(o){
for (var k in o) {
o[Constants[k]]=o[k];
delete o[k];
}
return o;
});

关于javascript - 对象键中的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19832060/

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