我想从函数创建一个数组。我将如何进行此操作,以便在参数中传递数组名称。
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"进行更改。参数。
答案 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"]
来引用您的数组。