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我不知道。但似乎是一个有漏洞的全局变量;职能之外