如何使用javascript使用数组的内容创建变量名
我已经创建了一个数组如何使用javascript使用数组的内容创建变量名,javascript,jquery,Javascript,Jquery,我已经创建了一个数组 var myBuildingName=['A1','A2','A3','A4']; 其中A1、A2、A3和A4是通过用户输入获得的名称。 现在我想创建名称为A1、A2、A3和A4的数组 我试过使用 for(var i=0;i<myBuildingName.length;i++) { var myBuildingName[i]=[]; } for(var i=0;i创建一个主父对象,并将数组值用作对象的键,在该对象中可以为每个父对象存储一个数组 var myB
var myBuildingName=['A1','A2','A3','A4'];
其中A1、A2、A3和A4是通过用户输入获得的名称。
现在我想创建名称为A1、A2、A3和A4的数组
我试过使用
for(var i=0;i<myBuildingName.length;i++)
{
var myBuildingName[i]=[];
}
for(var i=0;i创建一个主父对象,并将数组值用作对象的键,在该对象中可以为每个父对象存储一个数组
var myBuildingName=['A1','A2','A3','A4'];
var master = {};
for (var i = 0; i < myBuildingName.length; i++) {
master[myBuildingName[i]] = [];
}
或
如果你真的想用这些名称创建变量(我不推荐),你必须eval()
for(var i=0;i<myBuildingName.length;i++)
{
eval("var " + myBuildingName[i] + " = [] "); // This creates Array variables called A1, A2 etc.
}
for(var i=0;i无法访问局部变量对象(全局代码中除外),因此只能通过变量声明添加属性。对于全局上下文中的全局代码,可以执行以下操作:
var global = this;
for ( ...) {
global[myBuildingName[i]] = []
}
但是对于函数上下文中的函数代码,您不能这样做。请参阅jfriend00的答案。
var myBuildingName=['A1','A2','A3','A4'];
函数arrayFromNames(arr){
var store={};//数组的存储
for(var i=0;i
你已经收到了很多很好的答案,如果其中一个能满足你的需要,你应该接受这个答案。事实上,这个答案仍然是开放的,这让我们认为没有人能像你希望的那样回答你的问题
如果是这样,我只能假设您希望在全局范围内使用这些变量
var myBuildingName=['A1','A2','A3','A4'];
for (var i = 0; i < myBuildingName.length; i++) {
window[myBuildingName[i]] = [];
}
注意:这是一种可怕的做法,因为你不应该污染全局空间。var myBuildingName[i]=[myBuildingName[i];
var myStuff = {};
for(var i=0;i<myBuildingName.length;i++)
{
var myStuff[myBuildingName[i]] = [];
}
var global = this;
for ( ...) {
global[myBuildingName[i]] = []
}
var myBuildingName = ['A1', 'A2', 'A3', 'A4'];
function arrayFromNames(arr) {
var store = {}; //storage for the arrays
for (var i = 0; i < arr.length; i++) { //for each in the passed names
store[arr[i]] = []; //add to the storage an array with the corresponding name
}
return store; //return the storage
}
var nameArrays = arrayFromNames(myBuildingName); //build using your array
console.log(nameArrays);
//you now have:
//nameArrays.A1, nameArrays.A2,...
//or
//nameArrays['A1'], nameArrays['A2'],...
var myBuildingName=['A1','A2','A3','A4'];
for (var i = 0; i < myBuildingName.length; i++) {
window[myBuildingName[i]] = [];
}
A1.push('test');