Nac*_*awg 6 javascript jquery internet-explorer
我正在寻找一种能够动态创建对象键(措辞正确吗?)的解决方案.
任意的例子,但这适用于chrome和firefox
var weeks = {}
for(var i = 0; i < 5; i++){
$.extend(weeks, {["week" + i] : (i * 2)}
}
//weeks = {"week0":0,"week1":2,"week2":4,"week3":6,"week4":8}
Run Code Online (Sandbox Code Playgroud)
或者替代任意的例子
var object = {
["a" + 50]: "value"
}
Run Code Online (Sandbox Code Playgroud)
问题似乎根植于[]运营商,但我不明白这个问题是如何或为何只在IE中发生.我没有在以前的版本中测试IE11,但我认为问题会在那里持续存在.
由于问题似乎与[]操作员本身有关,在变量中创建我的键然后将该变量推入我的[]将无法解决问题,所以我似乎都没有想法和谷歌的关键字.
那么有没有办法在IE中动态创建对象键?
IE11不像Chrome,Firefox甚至Edge那样是一个"现代"的网络浏览器.它不支持ES6(ES2015)的新"对象文字扩展".
您使用的语法称为"计算属性键",您不能在IE11中使用它.你需要以"老式"的方式做到这一点.
var weeks = {};
for(var i = 0; i < 5; i++){
var tmp = {};
tmp["week" + i] = i*2;
$.extend(weeks, tmp);
}
Run Code Online (Sandbox Code Playgroud)