gpt4 book ai didi

javascript - 如何使用 JavaScript 随机化有序列表

转载 作者:行者123 更新时间:2023-12-03 10:46:00 24 4
gpt4 key购买 nike

我正在做一个包含问题的测试。

我希望问题随机出现在页面上,而不是按顺序列表出现。

这是我的 HTML:

<ol id = "questionList">
<li id="question">Question text<br/></li>
<li id="question">Question text<br/></li>
</ol>

这是我的 JavaScript:

var questionsList = document.getElementById('question');
var questionArray=[];
var randomize;

for (var i=0; questionsList.length>0; i++) {
questionArray[i]=questionList[i];
}
randomize = questionArray.Math.random()*questionList.length;

document.getElementById("questionsList").innerHTML= randomize;

我不知道如何让问题随机出现,而不是从 #1 降到 #10。

感谢任何帮助。

最佳答案

问题已被提出 ( How to randomize (shuffle) a JavaScript array? )

但这是基础知识:

可靠的洗牌算法是 Fisher-Yates(又名 Knuth)洗牌。

参见https://github.com/coolaj86/knuth-shuffle

function shuffle(array) {
var currentIndex = array.length, temporaryValue, randomIndex ;

// While there remain elements to shuffle...
while (0 !== currentIndex) {

// Pick a remaining element...
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex -= 1;

// And swap it with the current element.
temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue;
}

return array;
}

你可以像这样使用它:

var arr = ["question 1", "question 2"];
shuffle(arr);
console.log(arr);

关于javascript - 如何使用 JavaScript 随机化有序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28570164/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com