使用数组的长度创建Javascript变量

时间:2013-08-24 07:50:24

标签: javascript rename

在这个函数中,我需要创建一个名为“dorfX”的新变量。 X是变量进入的数组的长度。例如,这将生成一个名为“dorf5”的变量,其参数在“makeADorf”函数中指定。但是,它不想工作,因为未识别变量的名称。

据我所知,要么我需要以某种方式重命名变量,要么弄清楚如何使这项工作。

这可能有一个简单的答案,但我对编程很新,如果能得到一些帮助,我将非常感激。感谢。

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.");
    }
}

1 个答案:

答案 0 :(得分:0)

我认为您对如何设置代码感到有些困惑。根据你写的内容猜测,看起来你想要一个函数:

  • 创建一个新的dorf /冒险家并记住它
  • 除了写信息之外别无其他

要执行此操作,您可能希望在函数外部创建一个数组。我将数组称为冒险者"。如果制作新dorf的条件是真的,那么你将新的dorf推向冒险者"阵列。这样的事情(注意:我删除了任何使用dorves的代码):

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.");
}

编辑:我无法想到使用数字创建变量会很有用的情况。我也相当肯定不可能这样做。数组的要点是使用与此类似的逻辑,但您的宿舍将被引用为adventurers[0]而不是adventurers(someFunction)