IE 11 Script1002 Array.Filter(x =>...) (функции со стрелками)

Я получаю сообщение об ошибке в IE11, но не в Chrome, ошибка:

Script1002 Синтаксическая ошибка

Мой код выглядит следующим образом

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

Номер строки и столбца ошибки предполагают, что это функция стрелки =>, которая не нравится IE11. Однако он отлично работает в Chrome и Edge

Ответ 1

ie 11 не поддерживает функции стрелок

попробуйте

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

Ответ 3

В IE 11 функция со стрелкой еще не поддерживается. Вы можете обратиться к этой таблице совместимости: https://kangax.github.io/compat-table/es6/, чтобы получить общее представление о том, что где и в какой степени подробно описывается.

Используйте pollyfills или PRE-ES6-совместимый код, например

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