Javascript 功能在Internet Explorer 11中不工作

Javascript 功能在Internet Explorer 11中不工作,javascript,filter,Javascript,Filter,我创建了一个搜索函数,该函数在JavaScript过滤器函数上运行,如下所示: result = machinePrinters.filter (search, query); 搜索功能如下: function search(user) { return Object.keys(this).every((key) => user[key] === this[key]); } 它可以在Chrome中找到,但是在IE 11中我在=>符号上得到一个错误。错误是: SCRIPT1002

我创建了一个搜索函数,该函数在JavaScript过滤器函数上运行,如下所示:

result = machinePrinters.filter (search, query);
搜索功能如下:

function search(user) {
    return Object.keys(this).every((key) => user[key] === this[key]);
}
它可以在Chrome中找到,但是在IE 11中我在=>符号上得到一个错误。错误是:

SCRIPT1002: Syntax error
我试过了,但没用

function search(user) {
    return Object.keys(this).every(function (key) { return user[key] === this[key]; });
}

如果将函数重写为使用非箭头函数表达式,则需要确保作用域仍然指向相同的上下文:

function search(user) {
    return Object.keys(this).every(function (key) { 
        return user[key] === this[key];
    }.bind(this));
}

使用上面的方法,我们可以确保事件回调函数将在运行
search
函数的上下文中被调用,与之前使用arrow函数时的情况相同(在您的例子中,它看起来像是
machinePrints
对象)

“我试过了,但id不起作用。”:“它不起作用”不是一个有用的问题描述。怎么搞的?该怎么办?您在最后一个代码块上是否有任何错误?Internet explorer 11存在许多问题,您应该邀请您的用户使用Edge、Chrome、Firefox和更完善的图形web浏览器。。。也许您也可以在文本web浏览器中尝试您的代码,如elinks和Emacs w3m;-)“也许你也可以在elinks和Emacs w3m等文本web浏览器中尝试你的代码”你在开玩笑吧,@aurelian?@aurelian IE11如果你知道怎么做就可以了。这是工艺的一部分。哦,好的@dfsq我不知道这是可能的。我在砸东西的时候遇到了麻烦谢谢你。这解决了问题。