2014-10-08 5 views
0

Я написал цикл do while, но он не поддерживает цикл, даже если условие не выполняется. Там в массиве, называемом кавычками, и я сравниваю номер ввода с длиной этого массива, чтобы убедиться, что он только модифицирует уже существующий элемент. Несмотря на то, что я добавляю большее число, он просто добавляет его к этому элементу массива.Выполнять цикл while в JavaScript останавливает цикл, когда условие не выполняется

function modifyQuote(){ 
    'use strict' 

    var modifyQuoteNum = 0 
    do{ 
     var inputModify = prompt("what quote do you want to modify?"); 
     modifyQuoteNum = (parseInt(inputModify) - 1); 
    } 
    while ((typeof modifyQuoteNum == 'number') && 
     ((modifyQuoteNum + 1) <= quotes.length)); 

Понял, перепутал.

function modifyQuote(){ 
    'use strict' 

    var inputModify = prompt("what quote do you want to modify?"); 
    var modifyQuoteNum = (parseInt(inputModify) - 1); 

    while ((typeof modifyQuoteNum != 'number') || 
     ((modifyQuoteNum + 1) > quotes.length)){ 

     var inputModify = prompt("what quote do you want to modify?"); 
     var modifyQuoteNum = (parseInt(inputModify) - 1); 

    } 

ответ

2

Похоже, вы получили свое состояние не в ту сторону.

это не мешает зацикливание, даже если условие не встретил

Вот как работают while петли: они только держать цикл, пока условие является мет.

Исправление тривиально, поэтому я дам вам понять, что это за упражнение.

+0

+1 для педагогического ответа – xShirase

+0

Хорошо, я понимаю, что вы имеете в виду. – EsotericRider

Смежные вопросы