将字符串转换为变量名称。 (JavaScript的)

时间:2013-02-21 05:35:44

标签: javascript function random

我确实查看了之前的问题,但它们是针对整数值的,我需要一个文本值的答案。

我在本周早些时候提出了一个与此相关的问题,但现在就说了。 如下所示,我让Make [x]等于一些字符串值(Acura,Honda,Toyota)。当我将Make [x]传递给函数Models(Make)时,如何在模型(Make)函数中为变量Acura,Honda和Toyota变为变量名?

function Models(Make){
var Acura=['RSX','NSX','Integra',];
var Honda=['Accord','Civic','Prelude',];
var Toyota=['MR2','Celica','Camry',];
var holder = Make;
var Model = holder[Math.floor(Math.random()*holder.length)];
return Model;
}

function main(){
var Makes=['Acura','Honda','Toyota',];
var Make = Makes[Math.floor(Math.random() * Makes.length)];
var Model = Models(Make);
var Out = Make + " " + Model;
return Out;
}

document.write(main());

如果运行,您将获得Make的名称,但不是模型,而是从模型名称中吐出一个字母代替品牌。

1 个答案:

答案 0 :(得分:2)

你不能用你现在所拥有的东西做什么,但无论如何创建模型的对象会更有意义

function Models(Make) {
    var Models = {"Acura": ['RSX','NSX','Integra'] /* snip */};
    return Models[Make][random()];
}