如何从函数参数

时间:2017-02-20 16:16:03

标签: javascript arrays function

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

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"进行更改。参数。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

  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"]来引用您的数组。