我正在尝试将数据添加到数组中,其中数组名称的一部分是变量。
如果这有意义吗?
这是我的编码,我认为它与[“图表”[d]]部分有关,但没有任何内容被添加到数组中
var
charts0 = [],
charts1 = [],
charts2 = [],
charts3 = []
var newdata = data.split("|");
var newdates = dates.split(",");
for (i = 0; i < newdates.length; i++) {
for (d = 0; d < newdata.length; d++) {
var dataparts = newdata[d].split(",");
["charts"[d]].push({x: newdates[i], y: dataparts[i+1]});
}
}
答案 0 :(得分:3)
将对象文字用作关联数组。
var charts = [[],[]];
/* ... */
charts[d].push( // ...
但是如果你打算这样做,你可以简单地使用一个数组,其中索引是隐式的:
taskkill /f /im xdesproc.exe
答案 1 :(得分:1)
使用您的数组创建一个新对象,如
<classifier>
然后你就能够做到[&#34;图表&#34; + d] [i]等..
答案 2 :(得分:0)
你现在的方式是不可能的(不使用eval,你不应该这样做)。但是,您可以使用对象为变量添加额外的“图层”。像这样:
var myData = {
charts0: [],
charts1: []
charts2: []
charts3: []
};
var newdata = data.split("|");
var newdates = dates.split(",");
for (i = 0; i < newdates.length; i++) {
for (d = 0; d < newdata.length; d++) {
var dataparts = newdata[d].split(",");
myData['charts' + d].push({x: newdates[i], y: dataparts[i+1]});
}
}