Jquery函数在chrome和edge中工作但是IE会抛出错误

时间:2017-07-30 16:33:17

标签: javascript jquery

我有一个HTML代码,它使用jquery map函数将数组内部数组的成员导入到根数组中(希望这是有意义的)。

我有以下内容:

var data = $.makeArray(object.data);
data = data.map((v) => $.extend(v, v.Files));

这在Chrome和Edge中运行得非常好,但是Internet Explorer说这是javascript错误。同样在我的IDE(PHPStorm)中,它突出显示(v)=>

我看不出这有什么问题,并且不明白为什么IDE和IE在Chrome和Edge中显示错误的原因很好。

1 个答案:

答案 0 :(得分:1)

根据IE的版本,问题将是您使用的map(),这在< IE11中是不受支持的,并且在IE11本身中最好具有补丁支持,或者它将由于箭头功能在IE中根本没有支持。

要解决这两个问题,您可以使用jQuery的$.map()而不是本机ECMA6 map(),并为处理程序使用常规匿名函数:

var data = $.makeArray(object.data);
data = $.map(data, function(v) {
  return $.extend(v, v.Files));
});