我们正面临着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;作为此循环后的元素。所有其他值都不存在。有人经历过类似的事吗?
我们试图直接为生成的元素分配一些值,但这也没有效果。
任何人都知道吗?
答案 0 :(得分:0)
问题在于Edge的循环处理。我意识到,当我在循环中不使用负数并且从0开始时,这不再发生。
var myObject = {};
var someNumber = 8;
for (var i = 0; i <= 2 * someNumber; i++) {
myObject[i - someNumber] = {};
}