我正在 JQuery Mobile 框架的帮助下开发我的第一个 Web 应用程序。 这是一个考试模拟器(多项选择),在主菜单之后,应用程序会依次向用户显示问题,然后用户在三个可能的答案之间进行选择。用户必须回答 30 个问题,这些问题是从 500 个可能的问题中随机挑选的。最后我显示结果(正确回答问题的百分比)。
问题是我不知道,从概念上讲,我猜,如何从存储库中随机挑选 30 个问题部分(我猜每个问题将是一个 jquery 移动页面?)(?????? )共 500 个可能的问题。
任何帮助或指导将不胜感激。
最佳答案
从算法的 Angular 来看,从总共 x
个问题中选择 n
个随机问题可以通过循环遍历 x
个问题并选择每个问题来完成其概率等于您仍需要选择的问题数量
/剩余需要选择的问题数量
。
这是一个快速演示:
var a = [0,1,2,3,4,5,6,7,8,9];
var select = (n) => {
return a.reduce((memo, val, index) => {
var p = (n-memo.length); // How many remaining to choose.
var q = a.length-index; // How many remaining to choose from.
if (Math.random() < p/q){
memo.push(val);
}
return memo;
}, []);
};
console.log(select(3));
关于javascript - 如何从 500 个可能的问题中选出 30 个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33928541/