我有这个代码:
var arr = "val=value1&val2=value2"; //coming from query string
var [key, val] = arr.split('=');
return "." + swapped[key.toLowerCase()][val.toLowerCase()];
但是,我在第二行遇到此错误:
Expected identifier
我在 IE 上遇到这个问题,它在 chrome/firefox 上工作正常。
有什么想法吗?
我正在对现有网站进行维护,他们在 IE 上遇到此问题。
编辑
这是我的完整代码:
url = decodeURI(url);
var swapped = Object.keys(settings).reduce(function (obj, key) {
obj[key.toLowerCase()] = Object.keys(settings[key]).reduce(function (obj2, key2) {
obj2[settings[key][key2].toLowerCase()] = key2;
return obj2;
}, {});
return obj;
}, {});
return url.toLowerCase().split(/[?&#]/).slice(1).map(function (arg) {
var [key, val] = arg.split('=');
return "." + swapped[key.toLowerCase()][val.toLowerCase()];
});
最佳答案
代码是用 ES6 编写的,如注释中所述,因此我使用转译器将代码转换为 ES5,并且它有效。
关于javascript - 在 IE 中声明键值数组时需要标识符 - JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41273854/