我有一个javascript函数,它接受一个对象并将其所有的键名重新映射到我定义的其他名称。
这是功能:
var nameMap = {
SubmissionID: 'SubmissionID',
MetaCreatedDate: 'Date',
MetaCreatedDate_: 'MetaCreatedDate_',
Program: 'Program',
ViewedByInvestigator: 'Viewed',
DateInvestigatorViewed: 'DateInvestigatorViewed',
CaseID: 'CaseID',
SecondaryReviewer: 'SecondaryReviewer',
Investigator: 'Investigator',
InvManager: 'Manager',
InvSrManager: 'SrManager',
WorkflowAction: 'WorkflowAction',
Adjacency: 'Adjacency',
Jurisdiction: 'Jurisdiction',
Actions: 'Actions',
Note: 'Note',
recid: 'SubmissionID'
}
// Converted names
data = data.map(item => renameKeys(item, nameMap));
此功能适用于Chrome / Firefox,但我遇到了在IE中使用它的问题。我在调用该函数的行上收到语法错误。
IE不支持映射还是以支持的格式编写?我如何在IE中解释这个问题?
答案 0 :(得分:1)
您遇到此问题是因为IE11不支持Arrow函数语法。将来,您可以查看https://caniuse.com以确定您正在测试的浏览器是否支持您尝试使用的JS功能。 This is the link用于“胖箭”功能支持。
// Your code that isn't working:
// data = data.map(item => renameKeys(item, nameMap));
// Functioning code for IE11:
data = data.map(function(item) {
return renameKeys(item, nameMap);
});