2017-02-22 90 views
0

我們遇到MS Edge瀏覽器出現的一個奇怪問題,它在某些環境中發生的頻率更高,而且一些永遠不會發生。在MS Edge中通過for循環創建對象失敗

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

我們顯然期望在端包含元素稱爲-8一個目的,-7,-6,...,直到8。這是再後來就用數據填充。但是在Edge中,有時候會發生這樣的情況:變量myObject在該循環之後僅包含「8」元素。所有其他值都不存在。有沒有人遇到類似的事情?

我們試圖直接給生成的元素賦值一些值,但是這也沒有效果。

任何想法的人?

回答

0

問題用於Edge的循環處理。我意識到,當循環中不使用負數並且從0開始時,這不再發生。

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