2017-06-08 20 views
0

私はこのサイトを持っていますが、Internet ExplorerではIEでこの構文エラーが発生します。ここでpriceArray = priceArray.filter(x => x != $(this).val());Jquery - Internet Explorer - 構文エラー

全体のコードですが、IEは文句を言わない構文エラーが何であるかを教えてください:

SCRIPT1002: Syntax error 
File: communities.js, Line: 157, Column: 55 

ライン157はこれです。

$('ul.dropdown-menu input[type=checkbox]').each(function() { 
     $(this).change(function() { 

      if ($(this).attr("id") == 'price') { 
       if (this.checked) { 
        priceArray.push($(this).val()); 
       } 
       else { 
        priceArray = priceArray.filter(x => x != $(this).val()); 
       } 
      } 
}); 
}); 

私は間違っていますが、どうすれば修正できますか?

priceArrayは、ファイルの先頭に定義されています

var priceArray = []; 
+1

IE - [ソース](https://kangax.github.io/compat-table/es6/) – Santi

+0

ahhhhh男!これを修正する代替手段は何ですか? – user979331

+2

もちろん、通常の関数を使用します。 – PeterMader

答えて

1

サンティはコメントで指摘したように、IEが矢印の機能をサポートしていません。

解決策は、通常の機能を使用することです。通常の機能は、しかし、自分のthisオブジェクトを持っているので、あなたが提供する機能を使って呼び出されるべきであることfilterにオブジェクトを与えることがあります( `X => ...`)矢印の機能をサポートしていません

// ... 
priceArray = priceArray.filter(function (x) { 
    return x !== $(this).val(); 
}, this); 
// ... 
+1

ここにアドオンするだけで(最初の記事のコメントでも触れましたが)、最初はうまくいかなかったのは、IEが '=>'(矢印の機能)をサポートしていないためです(https: //kangax.github.io/compat-table/es6/)。 – Santi

関連する問題