从变量javascript中创建变量

时间:2015-11-22 12:13:06

标签: javascript arrays loops variables add

我正在尝试将数据添加到数组中,其中数组名称的一部分是变量。

如果这有意义吗?

这是我的编码,我认为它与[“图表”[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]});

        }
    }

3 个答案:

答案 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]});
    }
}