IE 11 Script1002 Array.Filter(x => …) (Arrow funct

2020-05-29 13:10发布

问题:

I get a error message in IE11 but not in chrome the error is:

Script1002 Syntax error

My code is as follows

var selectedRoles = vm.roles.filter(x => x.id === role.id);

The line and column number of the error suggest that it is the arrow function => that IE11 does not like. However it works fine in Chrome and Edge

回答1:

ie 11 not support arrow functions

try

var selectedRoles = vm.roles.filter(function(x) { return x.id === role.id; });


回答2:

IE not supported arrow function check browser compatibility here. If you want IE support then use the normal function instead.

var selectedRoles = vm.roles.filter(function(x) {
  return x.id === role.id
});


回答3:

The arrow function is not supported yet in IE 11. You can refer to these compatibity table: https://kangax.github.io/compat-table/es6/ to get an overview what is suuported where and to what extent in a detailed fashion.

Use pollyfills or a PRE-ES6 compatible code, e.g.

var selectedRoles = vm.roles.filter(function(x) {
   return x.id === role.id
});