0

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

我在本周早些时候问了一个与此相关的问题,但这里有。如下所示,我的 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());

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

4

1 回答 1

2

你不能用你目前拥有的东西来做你所要求的事情,但无论如何创建模型的对象会更有意义

function Models(Make) {
    var Models = {"Acura": ['RSX','NSX','Integra'] /* snip */};
    return Models[Make][random()];
}
于 2013-02-21T05:38:41.483 回答