84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
有两道选择题,怎么根据不同的选择打印出不同的结果呢? 每道题有十个选项 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];