84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
有两道选择题,怎么根据不同的选择打印出不同的结果呢? 每道题有十个选项 a数组是第一题的选项;b数组是第二题的选项 array a{a1,a2,a3,a4,...,a9,a10}; array b{b1,b2,b3,b4,...,b9,b10}; a1b1=>"123"; // 选择a1和b1的时候打印出123 a1b2=>"24342"; . . . a10*b10=>"25565457"; 都需要打印出不同的结果,具体应该怎么做呢?用怎么去存储和获取这些结果呢?
学习是最好的投资!
如果有N个问题,那么构建一个N维数组,通过查表计算arr[select_1][select_2][select_3][]...[select_n]来获得结果。 比如你的题目有2个问题,那么就构建一个二维数组,预先存储一个表。
赋值阶段可以区分一下数组是不是足够酥松
如果酥松的话就把有值的地方赋好就行了:
var arr = Array(2); arr[0] = Array(10) ; arr[1] = Array(10) ; arr[0][0] = "123" arr[3][4] = "123123" arr[5][10] = "21312" function showAnswerForSelects(){ return arr[arguments[0]][arguments[1]] ; }
showAnswerForSelects(3,4) -> "123123" showAnswerForSelects(7,5) -> undefined
或者数据比较酥松,还可以构建一个switch逻辑,像这样:
function showAnswerForSelects(){ var str = arguments[0] + "-" + arguments[1] ; switch(str) { case "0-1": return "123" ; case "3-4": return "123123" ; case "5-10": return "21312" ; default: return null; } }
调用还是一样的方式。
如果比较密,那么就用字面量的方式直接赋值吧:
var arr = [ ["123123","12312","123123"..."234134"] , ["123123","12312","123123"..."234134"] , ["123123","12312","123123"..."234134"] , ["123123","12312","123123"..."234134"] , ["123123","12312","123123"..."234134"] , ["123123","12312","123123"..."234134"] , ["123123","12312","123123"..."234134"] , ["123123","12312","123123"..."234134"] , ["123123","12312","123123"..."234134"] , ["123123","12312","123123"..."234134"] ]; function showAnswerForSelects(){ return arr[arguments[0]][arguments[1]] ; }
嫌不好索引还可以用@kikong的对象字面量的方式来做。
这个就看你的选择组合的内在逻辑了,简单的就是把所有可能性放到一个映射对象中 例如 var answer={ "a1b1":"a1b1的结果描述~~~~", "a1b2":"a1b2的结果描述~~~~" };
在获取用户的选择结果后,如结果userAnswer="a1b1"; var userAnswerDesc=answer[userAnswer];
如果有N个问题,那么构建一个N维数组,通过查表计算arr[select_1][select_2][select_3][]...[select_n]来获得结果。
比如你的题目有2个问题,那么就构建一个二维数组,预先存储一个表。
赋值阶段可以区分一下数组是不是足够酥松
如果酥松的话就把有值的地方赋好就行了:
或者数据比较酥松,还可以构建一个switch逻辑,像这样:
调用还是一样的方式。
如果比较密,那么就用字面量的方式直接赋值吧:
嫌不好索引还可以用@kikong的对象字面量的方式来做。
这个就看你的选择组合的内在逻辑了,简单的就是把所有可能性放到一个映射对象中
例如
var answer={
"a1b1":"a1b1的结果描述~~~~",
"a1b2":"a1b2的结果描述~~~~"
};
在获取用户的选择结果后,如结果userAnswer="a1b1";
var userAnswerDesc=answer[userAnswer];