Javascript 如何从函数参数创建数组名

Javascript 如何从函数参数创建数组名,javascript,arrays,function,Javascript,Arrays,Function,我想从一个函数创建一个数组。我将如何执行此操作,以便在参数中传递数组名称 function arrayCreate(name){ name = []; } 因此,如果我使用arrayCreate(“Hello”),我会将Hello=[]作为一个数组。明显的问题是我正在传递一个字符串,那么我如何克服这个问题呢 为了进一步解释我的问题,我有一个更新图表的函数,如下所示: self.updateChart = function(name){ if (t

我想从一个函数创建一个数组。我将如何执行此操作,以便在参数中传递数组名称

function arrayCreate(name){
     name = [];
    }
因此,如果我使用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”是动态的,并根据“name”参数进行更改。

您不能仅仅通过字符串创建变量。可以使用字符串创建、指定和读取对象的属性:

function arrayCreate(name){
     name = [];
    }
var obj = {};
obj[name] = [];
obj[name].push(...);

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

  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
后,您应该能够在其他地方使用
数据[“myString”]
来引用您的数组。

即使您得到了它,如何处理命名数组?我想显示需要不同命名数组的不同图表以及如何传递数据?我有一个名为Market.list的对象,用于创建图形,我使用Market.list[4].updateChart();。显然,对于一个市场来说,这是很好的,但我想重复使用代码。看起来,数组的名称并不重要,因为它只在这个函数中被引用。为什么您需要指定一个名称?这样我就无法更改刚才添加的已编辑代码了?@epayne我不知道。但似乎是一个有漏洞的全局变量;职能之外