2017-02-22 16 views
0

MS Edgeブラウザで奇妙な問題が発生しています。MSエッジでforループを使用したオブジェクト作成が失敗する

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

我々は明らかと呼ば-8、-7、-6、... 8までこれがデータで満たされた後に、次にである要素を含む最終的にオブジェクトを期待。しかし、Edgeでは、変数myObjectがこのループの後に要素として "8"を含んでいることが時々起こります。その他の値はすべて存在しません。誰かが同様のことを経験しましたか?

生成された要素にもいくつかの値を直接割り当てようとしましたが、それも効果がありませんでした。

答えて

0

問題はEdgeのforループ処理にあります。ループで負の数を使用せず、0から始めると、これ以上のことは起こりません。

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