Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как выбрать 15 случайных строк из файла. (https://javascript.ru/forum/misc/9720-kak-vybrat-15-sluchajjnykh-strok-iz-fajjla.html)

demix 02.06.2010 21:09

Как выбрать 15 случайных строк из файла.
 
Здравствуйте!
Завтра защищать курсовую... как всегда в последний момент надо делать все переделывать.

Задача такова:
Необходимо из файла выбрать 15 строк в случайном порядке (в файле их 70 будет), но при всем этом данные строки будут обрабатываться JS

пример строки:
var cq0='<input type=radio value="c" name="q0" onClick="Engine(1, this.value,1)"> Психологические свойства личности<br>';


как бы это можно было бы осуществить?

Gvozd 02.06.2010 21:18

AJAX-ом получаешь с сервера файл
с помощью Math.random выбираешь случайные строки

demix 02.06.2010 21:35

Дело в том, что я не использую сервер и все файлы находятся на локальном компе, а точнее на флешке все будет или на диске

Gvozd 02.06.2010 21:48

тогда только для IE есть решение - FSO
но, разумеется выскочит окошко с просьбой разрешить доступ к файловой системе

demix 02.06.2010 21:52

плохо блин, а если все эти строки в массив и из него выбрать 15 случайных ячеек?

Gvozd 02.06.2010 21:56

Цитата:

Сообщение от demix
плохо блин, а если все эти строки в массив и из него выбрать 15 случайных ячеек?

для кого я писал?
Цитата:

Сообщение от Gvozd
с помощью Math.random выбираешь случайные строки


ну или вот, готовая ф-ция
http://javascript.ru/php/array_rand

demix 02.06.2010 23:07

Да.. дела, оказывается все не так просто. Сейчас подробно все опишу, если кого заинтересует, то будьте добры...

Есть 70 вопросов, на каждый вопрос 3 варианта ответа.
Необходимо сделать так, что бы при загрузке страницы выводилось 15
случайных вопросов и на каждый вопрос три варианта ответа (но варианты ответов тоже необходимо выдать в случайном порядке)
например:

вопрос1:
вариант1
вариант2
вариант3

после обновления страницы, если вдруг выпадет опять вопрос1, то варианты должны поменяться местами
например вот так

вопрос1:
вариант1
вариант3

ну и так для каждого вопроса.
Я щас чета прикинул и понял, что для меня это ужасно сложно.
вариант2

Gvozd 02.06.2010 23:23

если самому не успевается разобраться, то раздел "работа" форума к твоим услугам.
только учти, что делать тест на голом JS -небезопасно, так как его легко взломать
Если программа чисто академического интереса, может быть и прокатит, но учти, что етбе могут задать такой вопрос

JsLoveR 02.06.2010 23:41

demix,
Вы до сих пор пишите тест, я Вас помню)

рони 03.06.2010 00:08

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.