javascript - Object.map lambda 代码可以在 Chrome、Firefox 中运行,但不能在 IE 中运行?

标签 javascript angularjs internet-explorer

我无法让这部分代码在 IE 中运行。

它在 Chrome 和 Firefox 中工作正常,但 IE 在 lambda 表达式上抛出“严重错误”。因此,在 IE 中分页会中断,但在其他浏览器中却可以正常工作。

代码的目的是在将 JavaScript 时间戳加载到页面上的可编辑字段之前过滤掉它们。它还只从每个对象中选择所需的数据,而不是加载所有数据。我只是不确定 IE 中存在什么问题以及如何解决它。

ContractsService.getRefRFRInformation()
.then(function (results) {
    var rfrInfo = results.data.map(x => ({ 
      rfrInformationID: x.rfrInformationID,
      fiscalYear: x.fiscalYear,
      rfrNumber: x.rfrNumber,
      startDate: ($filter('date')(new Date(x.startDate), 'MM/dd/yyyy')),
      endDate: x.endDate ? ($filter('date')(new Date(x.endDate), 'MM/dd/yyyy')) : "",
      modificationDate: x.modificationDate, modifiedBy: x.modifiedBy
    }))
    $scope.refRFRInfo = rfrInfo;

感谢任何帮助,谢谢。

最佳答案

Lambda 或箭头函数是 ES6 规范的一部分,Internet Explorer 不支持。 this MDN link中提到了这一点。您需要更改代码并以旧方式传递函数。

results.data.map(function(x) { ... });

有关更多详细信息,您可以在 this link 中查看 ES6 引入的功能有哪些。 。 Internet Explorer 或其他较旧的浏览器不支持这些。

关于javascript - Object.map lambda 代码可以在 Chrome、Firefox 中运行,但不能在 IE 中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57007103/

相关文章:

javascript - jQuery - IE9 问题(打开调试器后即可工作)

javascript - 在 chrome 中打印嵌入的 PDF

javascript - 如何让 oninput() 只在输入汉字而不是 IME 击键时触发?

javascript - Angularjs $http获取json数据,但不会显示

html - 绝对定位元素导致元素在IE中内联显示

html - 如何让 IE7 在悬停时覆盖另一个图像

javascript - Angular 验证一对表单字段为空或都已填充

javascript - 使用 Jquery 从两个下拉菜单中填充输入

javascript - 如何在不使用 Angular 表达式的情况下在占位符内显示 Angular 范围值

javascript - 输入一个数字并在 AngularJS 中以 'hh:mm:ss'/time 格式显示