2016-02-28 31 views
0

我該如何在排序順序中做到這一點?如何將其變爲排序順序?

此位置分配:https://jsfiddle.net/debhxnqc/27/

的代碼是在這裏:

Guess: 

<input type="textbox" id="index" value="12"> 
<br/> Get Number: 

<button id="click" onclick="InsertGuess(1000,0,'',0)">Generate</button> 
<div id="guess"></div> 

<script> 

var InsertGuess = function(max, min, finalStr, count) { 
    var str = 'Guessed :'; 
    var guessnum = Math.floor(Math.random() * (max - min + 1) + min); 

    if (document.getElementById('index').value > guessnum) { 
    finalStr = finalStr.concat(guessnum, ' too low <br>'); 
    count = count + 1; 
    return InsertGuess(max, guessnum, finalStr, count); 
    } else if (document.getElementById('index').value < guessnum) { 
    finalStr = finalStr.concat(guessnum, ' too high <br>'); 
    count = count + 1; 
    return InsertGuess(guessnum, min, finalStr, count); 
    } else { 
    count = count + 1; 
    finalStr = finalStr.concat(guessnum, ' Got it !!!<br>'); 
    finalStr = finalStr.concat('It took me ' + count + ' tries '); 
    document.getElementById('guess').innerHTML = finalStr; 
    return; 
    } 
} 


</script> 

筆者獲悉,這需要在排序順序做按下「生成按鈕」時。

**Example**: When pressing generate the result would show: 

532 too high 
47 too high 
14 too high 
8 too low 
10 too low 
11 too low 
12 Got it !!! 
It took me 7 tries 

相反,我被告知這需要顯示爲:

532 too high 
147 too high 
214 too high 
98 too low 
76 too low 
45 too low 
12 Got it !!! 
It took me 7 tries 

在排序順序。我會怎麼做?

+0

使用數組(S),如果你要對它進行排序 – charlietfl

回答

0

var InsertGuess = function(max,min,finalStr,count) { 
 
    var sortedArray = []; 
 
    var guess = function (max,min,finalStr,count) { 
 
    var guessnum = Math.floor(Math.random() *(max-min+1)+min); 
 
    if(document.getElementById('index').value > guessnum){ 
 
     sortedArray.push([guessnum , ' too low <br>']); 
 
     count=count+1; 
 
     return guess(max,guessnum,finalStr,count); 
 
    }else if(document.getElementById('index').value < guessnum) { 
 
     sortedArray.push([guessnum, ' too high <br>']); 
 
     count=count+1; 
 
     return guess(guessnum,min,finalStr,count); 
 
    }else{ 
 
     count=count+1;  
 
     sortedArray.sort(function (a,b) {return b[0] - a[0]}); 
 
     finalStr = finalStr.concat(sortedArray.join('')); 
 
     finalStr = finalStr.concat(guessnum , ' Got it !!!<br>'); 
 
     finalStr = finalStr.concat('It took me '+ count +' tries '); 
 
     document.getElementById('guess').innerHTML= finalStr; 
 
     return ; 
 
    } 
 
    } 
 
    guess(max,min,finalStr,count); 
 
}
Guess: 
 
<input type="textbox" id="index" value="12"> 
 
<br/> Get Number: 
 

 
<button id="click" onclick="InsertGuess(1000,0,'',0)">Generate</button> 
 
<div id="guess"></div>

+1

謝謝改寫了!此代碼工作得非常出色;我明白你現在是怎麼做到的。 –

+0

我剛剛在算法結尾對數據進行了排序,但有一種方法可以使其實際增量。我已經做了一個演示[在這裏](http://jsbin.com/puxopo/1/edit?js,output),注意到我仍然在那裏排序,因爲當猜測較低時,我們必須去無論如何。 – rafaelcastrocouto