我无聊并且弄乱了我的控制台,我想出了以下代码:
我正在尝试类似的事情:
x = 16;
y = 26;
f = { x+y:"String!"};
期待某事或以某种方式做:
Object {1626: "String!"}
或者至少
Object {42: "String!"}
我最终得到了
x = 16;
y = 26;
eval("f = { "+x+y+":\"String!\"}");
按预期返回:
Object {1626: "String!"}
我总是被告知要避免使用eval()
,而且由于安全问题,我从不考虑使用它。有没有办法在声明属性时使用变量(对不起,如果我不知道它的确切名称)
答案 0 :(得分:2)
x = 16;
y = 26;
f = {};
f[x+''+y] = "String!"; // For f[1626]
或
f[x+y] = "String!" // For f[42]
答案 1 :(得分:1)
当我开始学习JavaScript时,我犯了同样的错误:JavaScript set object key by variable
首先必须制作对象:
var f = {};
然后您可以使用变量动态创建密钥:
var x = 16, y = 26;
f[x+y] = "Integer";
f[x.toString() + y.toString()] = "String";