我确实查看了之前的问题,但它们是针对整数值的,我需要一个文本值的答案。
我在本周早些时候提出了一个与此相关的问题,但现在就说了。 如下所示,我让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的名称,但不是模型,而是从模型名称中吐出一个字母代替品牌。
答案 0 :(得分:2)
你不能用你现在所拥有的东西做什么,但无论如何创建模型的对象会更有意义
function Models(Make) {
var Models = {"Acura": ['RSX','NSX','Integra'] /* snip */};
return Models[Make][random()];
}