基于数组Javascript中的字符串值动态创建数组名称
如果不可能以这种方式实现,Javascript中是否有任何替代方法来实现相同的基于数组Javascript中的字符串值动态创建数组名称,javascript,arrays,Javascript,Arrays,如果不可能以这种方式实现,Javascript中是否有任何替代方法来实现相同的var sub=[“数学”、“化学”、“物理”]; Maths[],Chemistry[],Physics[] var result={}; 对于(var i=0;i,除了上面的响应之外,希望这个示例还有帮助。您可以在浏览器控制台中通过此代码并使用它 var sub=["Maths","Chemistry","Physics"]; var result = {}; for(var i=0;i<sub.leng
var sub=[“数学”、“化学”、“物理”];
Maths[],Chemistry[],Physics[]
var result={};
对于(var i=0;i,除了上面的响应之外,希望这个示例还有帮助。您可以在浏览器控制台中通过此代码并使用它
var sub=["Maths","Chemistry","Physics"];
var result = {};
for(var i=0;i<sub.length;i++)
{
result[sub[i]] = [];
}
你所说的Math[]
到底是什么意思?你能举例说明如何使用它吗?试试sub[i]=[]
,不要var
。你是在给一个对象分配一个属性,而不是声明一个变量。只需使用一个对象,例如:var dataStore={Math:[],Chemistry:[],Physics:[]这绝对是XY问题的一个例子。你在这里演示的不是标准语法,而且你没有给出它的用途的上下文;因此,你在问一个未知问题的一个不完整的解决方案,但是你提出的解决方案没有任何意义去修复。可能有整本书关于这个主题,一个注释是不够的,但是相信我和这里的其他人:几乎肯定没有很好的理由在没有对象的情况下创建这样的变量(或者更一般地说:一个定义的范围)。在[sub[i]之后缺少]
——修复了我的错误,第一次在这里提问。我不能不把它放在对象中就这样做。如果你计划使用列出的键“数学”、“化学”、“物理”访问数据,那么不使用对象就无法解决此问题这正是我要做的。我只是在想,我是否可以不使用任何对象。也许,如果你能给出一个用例,它可能有助于更好地回答你的问题。
var sub=["Maths","Chemistry","Physics"];
var result = {};
for(var i=0;i<sub.length;i++)
{
result[sub[i]] = [];
}
var dict = {Math:[], Physics:[], Chemistry:[]};
dict["Math"] = [0, 1, 2];
dict["Chemistry"] = ["organics", "biochemistry"];
dict["Physics"] = ["kinematics", "vectors"];
/*retrieve code by typing following one by one*/
dict["Math"]
dict["Chemistry"]
dict["Physics"]