我确实查看了前面的问题,但它们是针对整数值的,我需要文本值的答案。
我在本周早些时候问了一个与此相关的问题,但现在是这样。 如下所示,我使 Make[x] 等于某个字符串值(Acura、Honda、Toyota)。当我将 Make[x] 传递到函数 Models(Make) 中时,如何使该字符串成为 Models(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());
如果运行,您将获得品牌名称,但它会输出模型名称中的一个字母来代替品牌名称,而不是模型。
最佳答案
您无法用当前拥有的东西来做您所要求的事情,但无论如何创建模型的对象会更有意义
function Models(Make) {
var Models = {"Acura": ['RSX','NSX','Integra'] /* snip */};
return Models[Make][random()];
}
关于javascript - 将字符串转换为变量名。 (JavaScript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14995303/