如何从函数参数

问题描述:

创建数组名称我想从函数创建一个数组。我该如何去做这件事,以便数组名称在参数中传递。因此,如果我使用arrayCreate(“Hello”),我会有一个数组Hello = []。如果我使用数组,显而易见的问题是我传递一个字符串,所以我如何克服这一点。如何从函数参数

要解释一点关于我的问题,我所看到低于该更新图表的功能:

 self.updateChart = function(name){ 

     if (typeof chartData == 'undefined') { 
      chartData = []; 
     } 
     chartData.push({ 
      date: game.tickCount, 
      visits: self.price, 
     }); 
     priceLabour.validateData(); 
     return chartData; 
     } 

现在的“chartData = []”和“priceLabour”我想它是动态的,并根据“名称”参数进行更改。

+1

即使你得到它,你如何处理命名数组? –

+0

我想显示不同的图表,需要不同的命名数组 – epayne

+0

,你如何交付数据? –

您不能只通过字符串创建变量。您可以创建,分配和使用字符串对象读取属性:

var obj = {}; 
obj[name] = []; 
obj[name].push(...); 
+0

因此,我无法更改刚刚添加的已编辑代码? – epayne

+0

@epayne没有,我可以告诉。但似乎是全球性的漏洞。 –

+0

我声明了chartData = [];功能之外 – epayne

您可以创建一个动态命名的数组作为对象的属性。不完全确定你的需求是什么,但这里是一个基于你提供的代码的例子。

var data = {}; 

    self.updateChart = function(name){ 
    // Store a shallow clone of the chartData array in the data obj 
    data[name] = chartData.slice(0); 

    if (typeof data[name] == 'undefined') { 
     data[name] = []; 
    } 
    data[name].push({ 
     date: game.tickCount, 
     visits: self.price, 
    }); 
    priceLabour.validateData(); 
    return data[name]; 
    }; 

调用updateChart后,你应该能够使用data["myString"]别处参阅您的阵列。