ES5 对象转换

ES5 object conversion

如何在 ES5 中构建 favMap 对象,使其 returns 具有相同的数据?目前我正在使用 EcmaScript2015 语法创建它,它在 IE 中不起作用。

var company = "Toyota,Honda,Ford";
var companyArray = company.split( "," );

const favMap = {  
  [companyArray[0]]: ["Sedans"],  //this syntax gives error in Internet Explorer
  [companyArray[1]]: ["Suvs"]
};

console.log(favMap);

错误是"Expected identifier, string or number"。 运行这段代码在Internet Explorer的控制台中看到错误。

计算 属性 个名字 are not supported in IE

您可以通过声明一个空对象然后通过括号语法分配属性来实现相同的目的:

const company = "Toyota,Honda,Ford";
const companyArray = company.split( "," );
const favMap = {};

favMap[companyArray[0]] = ['Sedans'];
favMap[companyArray[1]] = ['Suvs'];

console.log(favMap);