对象中的第一个元素是使用+ =运算符未定义的

sel*_*man 3 javascript variables element object undefined

我有一个问题是在对象中使用operator + =.因为我必须动态地改变变量,所以我使用一个对象作为变量.但是如果我使用+ =运算符,输出中的第一个元素总是未定义.我认为那是因为对象被初始化为空.

什么是阻止输出该元素的最佳解决方案?

这是我的示例代码:

var dynamicVariable = {};
var group = "apples";

for(var i = 1; i<5; i++)
{
 dynamicVariable[group] += " Apple" + i + "<br>";
}

document.getElementById("fruits").innerHTML = dynamicVariable[group];
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

JLR*_*she 6

发生这种情况是因为在您开始追加它之前dynamicVariable[group]有值undefined.undefined + " Apple1""undefined Apple1".

您需要先将其初始化为空字符串:

dynamicVariable[group] = "";
for(var i = 1; i<5; i++) {
    dynamicVariable[group] += " Apple" + i + "<br>";
}
Run Code Online (Sandbox Code Playgroud)