2016-09-23 6 views
2

d3.jsノードを選択して削除するためのコードは次のとおりです。"for of"のJavascriptがIE 11で失敗する

if (d.children) { 
     for (var child of d.children) { 
      if (child == node) { 
       d.children = _.without(d.children, child); 
       update(root); 
       break; 
      } 
     } 
    } 

これはChromeとエッジで正常に動作しますが、不足しているとIE-11で失敗し、。これは 'of'を使ってループするのに問題があるようです。前にIEでこの問題を横切って走っている人は誰ですか?もしそうなら、あなたはそれをどのように解決しましたか?

+1

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...ofブラウザの互換性に注意してください。 –

+0

'for..in'を使用できない理由はありますか? – maurycy

答えて

5

これはES2015(ES6とも呼ばれます)機能で、最新のブラウザでのみサポートされています。一般的には、旧式のブラウザをサポートするために、babelのようなトランスペアラと共にこのコンストラクトを使用するだけです。

あなたがここにfor...of文の適合表を見ることができます: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/for...of

+1

上記のリンクは(現在)IE11サポートを表示していません.Edgeの前には何も表示されません。 – kevnk

関連する問題