2017-02-22 3 views
0

У нас возникла странная проблема с браузером MS Edge, который случается в некоторых средах чаще и на некоторых никогда.Создание объекта через цикл в MS Edge завершается с ошибкой

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

Очевидно, что мы ожидаем, объект, в конце концов, содержащий элементы, называемые -8, -7, -6, ... до 8. Это потом на заполнены данными. Но в Edge иногда случается, что переменная myObject просто содержит «8» в качестве элемента после этого цикла. Все остальные значения не существуют. Кто-нибудь испытывал нечто подобное?

Мы попытались присвоить непосредственно определенное значение также сгенерированным элементам, но это также не повлияло.

Любая идея кого-нибудь?

ответ

0

Проблема заключается в обработке контура края. Я понял, что это больше не происходит, когда я не использую отрицательные числа в цикле и начинаю только с нуля.

var myObject = {}; 
var someNumber = 8; 
for (var i = 0; i <= 2 * someNumber; i++) { 
    myObject[i - someNumber] = {}; 
} 
Смежные вопросы