Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как сделать цикл for столько сколько нужно(Самостоятельным) (https://javascript.ru/forum/misc/45366-kak-sdelat-cikl-stolko-skolko-nuzhno-samostoyatelnym.html)

f0stgis 25.02.2014 16:21

Как сделать цикл for столько сколько нужно(Самостоятельным)
 
Вообщем вопрос такой - у меня есть карточки, их можно написать в неправильном порядке и код должен выводить их в правильном порядке,и тут в принципе все работает но только после того как он выводит первую карточку которая должна стоять в самом начале, код перестает быть самостоятельным и остальные карточки я вывожу получается сам при помощи новых for, ни как не могу сообразить как сделать код самостоятельным, дайте совет.Спасибо.

var scorecart = prompt("Сколько карточек?");
            var otkyda = [];
            var nachem = [];
            var kyda = [];

            for(var i = 1;i<=scorecart;i++){
                alert("Заполните карточку #"+i);

                var scorecart2 = prompt("Карточка #"+i+"\n Откуда вы едите? ");
                otkyda[i] = scorecart2;

                var scorecart4 = prompt("Карточка #"+i+"\n На чем вы едите? ");
                nachem[i] = scorecart4;

                var scorecart3 = prompt("Карточка #"+i+"\n Куда вы едите?");
                kyda[i] = scorecart3;

               // document.write("+--------------------</br>| Из "+otkyda[i]);
              //  document.write(" На "+nachem[i]);
             //   document.write(" В "+kyda[i]+"</br>+--------------------");
            }

            var str = kyda.join('');

            for(var max=1;max <= scorecart;max++){
                if( ~str.indexOf(otkyda[max]) ) {
                  //  document.write('Совпадение!'+">"+otkyda[max]+" "+kyda[max]+"< </br>");
                }
                else{
                    document.write("</br>"+"YESSSSSSSSSSS!"+">"+otkyda[max]+" "+nachem[max]+" "+kyda[max]+"<</br>"); //Выносим на первую строчку карточку которая не повтораяется и должна стоять первой по счеты
                    for(var pro=1;pro<=scorecart;pro++){    //Тут мы воводим все карточки после первой
                        if(kyda[max]==otkyda[pro]){
                            document.write("</br>"+"YESSSSSSSSSSS!"+">"+otkyda[pro]+" "+nachem[pro]+" "+kyda[pro]+"<</br>");
                            for(var por=1;por<=scorecart;por++){
                                if(kyda[pro]==otkyda[por]){
                                   document.write("</br>"+"YESSSSSSSSSSS!"+">"+otkyda[por]+" "+nachem[pro]+" "+kyda[por]+"<</br>");
                                }
                            }
                        }
                    }
                }
            }

ksa 25.02.2014 16:23

Цитата:

Сообщение от f0stgis
код должен выводить их в правильном порядке

Это называется сортировка...
http://javascript.ru/search/node/сортировка

f0stgis 25.02.2014 16:24

Или возможно я сам себя загнал в тупик этим кодом?:blink:

ksa 25.02.2014 16:26

Цитата:

Сообщение от f0stgis
я сам себя загнал в тупик этим кодом?

Так и есть. :yes:


Часовой пояс GMT +3, время: 08:51.