gpt4 book ai didi

javascript - 值是变量名而不是变量的内容

转载 作者:行者123 更新时间:2023-11-30 07:48:10 24 4
gpt4 key购买 nike

我正在尝试在 javascript 对象中动态初始化一些数据值,但是当我创建要传递的串联字符串时,实际存储的键是变量名,而不是其中的值。

例子:

projects.init = function(){
for (var i = this.numBoxes - 1; i >= 0; i--){
var toInject = "item"+i;
this.datas[i] = {toInject:"testdata"};
};
}

然后在调用 init 之后,projects.datas 中的值看起来像...注入(inject)“testdata”,而不是“item1”...“item2”...我做错了什么..?

最佳答案

您应该分两步构建您的对象,并使用括号表示法 property accessor :

projects.init = function(){
for (var i = this.numBoxes - 1; i >= 0; i--){
var toInject = "item"+i,
obj = {};

obj[toInject] = "testdata";
this.datas[i] = obj;
};
}

对象字面量的标签不能是表达式。

如您所见,首先声明一个空的 object literal :

var obj = {};

然后设置属性:

obj[toInject] = "testdata";

关于javascript - 值是变量名而不是变量的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1776252/

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