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

First element in object is undefined using += operator

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

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

这是我的示例代码:

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

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

document.getElementById("fruits").innerHTML = dynamicVariable[group];

jsFiddle

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

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

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