我有这个网站,在Internet Explorer中,我仅在IE中收到此语法错误,Chrome正常。

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


157行是这样的:priceArray = priceArray.filter(x => x != $(this).val());

这是完整的代码,但是IE不会告诉我语法错误是什么。

$('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 = [];

最佳答案

正如Santi在评论中指出的那样,IE不支持箭头功能。

解决方案是使用常规功能。但是,普通函数具有其自己的this对象,因此必须为filter提供应使用提供的函数调用的对象:

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

10-08 16:37