创建具有数组长度的Javascript变量
在这个函数中,我需要创建一个名为“dorfX”的新变量。X是变量将进入的数组的长度。例如,这将生成一个名为“dorf5”的变量,其参数在函数“makeADorf”中指定。但是,它不想工作,因为变量的名称没有标识 据我所知,要么我需要以某种方式重命名变量,要么我想办法让它工作 这可能有一个简单的答案,但我对编程相当陌生,如果能得到一些帮助,我将非常感激。谢谢创建具有数组长度的Javascript变量,javascript,rename,Javascript,Rename,在这个函数中,我需要创建一个名为“dorfX”的新变量。X是变量将进入的数组的长度。例如,这将生成一个名为“dorf5”的变量,其参数在函数“makeADorf”中指定。但是,它不想工作,因为变量的名称没有标识 据我所知,要么我需要以某种方式重命名变量,要么我想办法让它工作 这可能有一个简单的答案,但我对编程相当陌生,如果能得到一些帮助,我将非常感激。谢谢 function guildRecruit(){ var price = Math.floor((Math.random()*100
function guildRecruit(){
var price = Math.floor((Math.random()*100)+1) + (dorves.length*50);
var recruit = prompt("Hello there friend. Would you like to recruit an adventurer?");
if(recruit == "yes"){
var dorf(dorves.length) = new makeADorf("Testificate","123");
dorf(dorves.length).push(dorf(dorves.length));
}else{
confirm("Thank you for visiting the Dragon Slayer Guild.");
}
}
我认为您对如何设置代码有点困惑。根据您编写的内容猜测,您似乎想要一个函数:
- 创建一个新的dorf/冒险家并记住它
- 除了写一条信息,什么也不做
编辑:我想不出用数字创建变量会有什么用处。我也相当肯定,这样做是不可能的。数组的要点是使用与之类似的逻辑,但您的Dorve会像
冒险家[0]
一样被引用,而不是冒险家(someFunction)
您编写的代码没有多大意义。您正在尝试创建一个末尾带有数字的变量吗?为什么要使用变量名的变量?不要使用new Array()
!使用[]
。它速度更快,新数组(int)
与[int]
的效果并不完全相同。Jan Dvorak的观点是正确的,如果数组对你有意义,请使用他的建议。我的评论是针对你的,亚洲。你应该在你的代码中修复新数组
。我认为轻微的优化可以等到他理解代码正在/应该做什么之后。这不是轻微的优化new Array()
是代码气味,如果只是因为new Array(content)
有效,除非content
是一个数字。现在解决这个问题要比以后改变他的方式容易得多。
var adventurers = []; // new Array(); would do the same thing, read Jan Dvorak's comment
function guildRecruit() {
var price = Math.floor((Math.random()*100)+1);
var recruit = prompt("Hello there friend. Would you like to recruit an adventurer?");
if (recruit == "yes") adventurers.push(new makeADorf("Testificate","123"));
else confirm("Thank you for visiting the Dragon Slayer Guild.");
}