我有这个网站,在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);
// ...