Я нахожусь в процессе создания викторины с использованием библиотеки js опроса. Для этого теста у меня есть банк вопросов, из которого я хотел бы выбрать случайным образом.
Для этого я сохранил JSON объектов - сериализованных в JSON вопросов. Вот рабочий пример - https://plnkr.co/edit/gnL4gv75uowDPyEU
Теперь это работает для добавления каждого вопроса на страницу с использованием foreach l oop. Вместо этого, я хотел бы случайно добавить только 2 вопроса из 4.
Концептуально я понимаю, как это сделать, но я относительно новичок в программировании.
Вот моя мысль процесс для того, что должно быть сделано:
- Получить случайное число, используя случайный случай Фишера-Йейтса:
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 по порядковому случайному номеру на страницу. Повторите это дважды, чтобы добавить два вопроса.
Это кажется относительно простым, но когда я go реализую его, я не могу понять, как на самом деле сериализовать json. Кроме того, даже когда я выясняю, как сериализовать вопросы json и выбираю их соответствующим образом, я не понимаю синтаксиса, необходимого для добавления вопроса. Может кто-нибудь помочь с этим?