javascript - 如何从 500 个可能的问题中选出 30 个问题

标签 javascript jquery jquery-mobile web

我正在 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));

http://jsfiddle.net/1aedhan8/

关于javascript - 如何从 500 个可能的问题中选出 30 个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33928541/

相关文章:

javascript - 如何等待所有异步任务在 Node.js 中完成?

javascript - 如何为 html 创建 iPhone 联系人标题滚动效果?

javascript - 使用正则表达式将 "[]"之间的字符串替换为 javascript

javascript - 无法在组合框 Jquery Mobile 上清空()

c# - 如何从 mvc3 模型的序列化 json 中获取backbone.js 模型?

javascript - jQuery - 替换图像,保留事件处理程序

javascript - jQuery/HTML5 选择并设置父项和所有子项的样式

javascript - Jquery Mobile、PhoneGap 和 JavaScript

html - 如何适配屏幕

javascript - js变量作用域问题