通过MS Edge中的for循环创建对象失败

时间:2017-02-22 14:45:25

标签: javascript microsoft-edge

我们正面临着MS Edge浏览器的一个奇怪问题,它在某些环境中更频繁地发生,而在某些环境中从不发生。

var myObject = {};
var someNumber = 8;
for (var i = -someNumber; i <= someNumber; i++) {
    myObject[i] = {};
}

我们显然希望最后一个对象包含名为-8,-7,-6,...的元素直到8.然后这将填充数据。但是在Edge中有时会发生变量myObject只包含&#34; 8&#34;作为此循环后的元素。所有其他值都不存在。有人经历过类似的事吗?

我们试图直接为生成的元素分配一些值,但这也没有效果。

任何人都知道吗?

1 个答案:

答案 0 :(得分:0)

问题在于Edge的循环处理。我意识到,当我在循环中不使用负数并且从0开始时,这不再发生。

var myObject = {};
var someNumber = 8;
for (var i = 0; i <= 2 * someNumber; i++) {
    myObject[i - someNumber] = {};
}