我正在使用调查 js 库创建测验。对于这个测验,我有一堆问题,我想从中随机选择。
为此,我存储了 JSON 对象 - 序列化为 JSON 问题。这是工作示例 - https://plnkr.co/edit/gnL4gv75uowDPyEU
现在,这适用于通过利用 foreach 循环将每个问题添加到页面。相反,我想随机添加 4 个问题中的 2 个。
从概念上讲,我理解如何做到这一点,但我对编程比较陌生。
以下是我对需要做的事情的思考过程:
- 使用 Fisher-Yates shuffle 获取随机数:
function shuffle(array) {
var i = array.length,
j = 0,
temp;
while (i--) {
j = Math.floor(Math.random() * (i+1));
// swap randomly chosen element with current element
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
return array;
}
var ranNums = shuffle([1,2,3,4]);
- 将序列化随机数处的 JSON 问题添加到页面。重复两次以添加两个问题。
这看起来相对简单,但是当我去实现它时,我似乎无法弄清楚如何实际序列化 json。此外,即使我弄清楚如何序列化 json 问题并相应地选择它,我也不明白添加问题的必要语法。有人可以帮忙吗?