代码之家  ›  专栏  ›  技术社区  ›  JackTheKnife

ie11和javascript array.map()

  •  0
  • JackTheKnife  · 技术社区  · 7 年前

    我在IE11下遇到了问题。它抛出了一个错误

    应为:“:”

    对于那行代码:

    this.aAttachments = MessageStore.message().attachments().map(({fileName,mimeType,fileType,fileNameExt,download}) => [fileName,mimeType,fileType,fileNameExt,download]);
    

    在这一部分

    {fileName,mimeType,fileType,fileNameExt,download}

    而不是逗号。

    文档表明IE支持完全 map since IE9

    有什么线索吗?

    1 回复  |  直到 7 年前
        1
  •  3
  •   obermillerk    7 年前

    我不认为问题出在map上,我认为问题出在您指定的部分使用快捷方式将对象属性分配给它们自己的变量。我相信这是javascript的一个相对较新的特性,因此很可能不受ie支持,因为它似乎远远落后于javascript。我建议将内联函数改为

    (obj) => [obj.fileName,obj.mimeType,obj.fileType,obj.fileNameExt,obj.download]
    

    看看能不能解决问题。

    编辑:有些人还说IE也不支持箭头功能,所以

    function(obj) { return [obj.fileName,obj.mimeType,obj.fileType,obj.fileNameExt,obj.download]; }