【问题标题】:How to randomize quiz questions order in multidimensional array?如何随机化多维数组中的测验问题顺序?
【发布时间】:2017-04-04 06:02:24
【问题描述】:
var questions =[
new Question ("Who is the president of Czech Republic?", ["Donald Trump", "Andrej Kiska", "Milos Zeman", "Angela Merkel"], "Milos Zeman"),
new Question ("The capital of Czech Republic is:", ["Brno", "Ostrava", "Hradec Kralove", "Prague"], "Prague"),
new Question ("Which food is not common Czech food?", ["Cevapcici", "Svickova", "Trdelnik", "Tatarak"], "Cevapcici")];
var quiz = new Quiz(questions);
populate();

如何随机排列本测验中的问题顺序?这是工作示例:

https://jsfiddle.net/yhosftnt/

【问题讨论】:

    标签: javascript arrays multidimensional-array random


    【解决方案1】:

    使用随机数对它们进行排序 (demo):

    this.questions = [].concat(questions).sort(function() {
        return Math.random() - Math.random();
    });
    

    [].concat(questions) 创建了一个新数组,所以原来的数组不会改变。

    【讨论】:

    • 非常感谢,非常优雅的解决方案!
    • 还有一件小事,因为它是一个字符串数组,我将如何限制弹出的随机问题的数量?假设在此示例中,我只想显示 3 个问题中的 2 个?
    • 排序后对数组进行切片 - .slice(0, number of questions)
    猜你喜欢
    • 2015-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-07
    • 1970-01-01
    相关资源
    最近更新 更多