Как выбрать 15 случайных строк из файла.
Здравствуйте!
Завтра защищать курсовую... как всегда в последний момент надо делать все переделывать. Задача такова: Необходимо из файла выбрать 15 строк в случайном порядке (в файле их 70 будет), но при всем этом данные строки будут обрабатываться JS пример строки: var cq0='<input type=radio value="c" name="q0" onClick="Engine(1, this.value,1)"> Психологические свойства личности<br>'; как бы это можно было бы осуществить? |
AJAX-ом получаешь с сервера файл
с помощью Math.random выбираешь случайные строки |
Дело в том, что я не использую сервер и все файлы находятся на локальном компе, а точнее на флешке все будет или на диске
|
тогда только для IE есть решение - FSO
но, разумеется выскочит окошко с просьбой разрешить доступ к файловой системе |
плохо блин, а если все эти строки в массив и из него выбрать 15 случайных ячеек?
|
Цитата:
Цитата:
ну или вот, готовая ф-ция http://javascript.ru/php/array_rand |
Да.. дела, оказывается все не так просто. Сейчас подробно все опишу, если кого заинтересует, то будьте добры...
Есть 70 вопросов, на каждый вопрос 3 варианта ответа. Необходимо сделать так, что бы при загрузке страницы выводилось 15 случайных вопросов и на каждый вопрос три варианта ответа (но варианты ответов тоже необходимо выдать в случайном порядке) например: вопрос1: вариант1 вариант2 вариант3 после обновления страницы, если вдруг выпадет опять вопрос1, то варианты должны поменяться местами например вот так вопрос1: вариант1 вариант3 ну и так для каждого вопроса. Я щас чета прикинул и понял, что для меня это ужасно сложно. вариант2 |
если самому не успевается разобраться, то раздел "работа" форума к твоим услугам.
только учти, что делать тест на голом JS -небезопасно, так как его легко взломать Если программа чисто академического интереса, может быть и прокатит, но учти, что етбе могут задать такой вопрос |
demix,
Вы до сих пор пишите тест, я Вас помню) |
function random(d,f,g){for(var e=[],b=[],c=0,a=0;a<=f-d;a++)b[a]=a+d;for(a=0;a<g;a++){c=Math.floor(Math.random()*b.length);e[a]=b[c];b.splice(c,1)}return e}for(var question=random(1,70,15),h="",i=0;i<question.length;i++){h+=i+1+". \u0412\u043e\u043f\u0440\u043e\u0441 \u2116 "+question[i]+"\n";for(var answer=random(1,3,3),s=0;s<answer.length;s++)h+=" \u041e\u0442\u0432\u0435\u0442 \u2116 "+question[i]+"."+answer[s]+"\n"}alert(h); листинг вроде не красненький ну и ладушки) |
Часовой пояс GMT +3, время: 06:51. |