2011-09-22 31 views
0

所以即時通訊想要比較一個數字(pullNumb)(由別的另一個函數獲得)與數組中的一個數字範圍。我該如何調用數組中的一個數字範圍?

這個例子,可以說:

var pullNumb = 100; 
var morn_T= new Array(6,7,8,9,10,11,12,13,14,15,16,17,18,19); 

if(pullNumb>morn_T[1]){ document.write(" xyz "); 

} 

現在不是我寫出來morn_T[1],[2],[3];等..是有辦法縮短這個?

理想情況下,如果我可以將此範圍添加到一個很好的變量。但是比這種不幸的事情要好得多。

我在這裏找到了一些頁面,但是...那個頁面的方式讓我高級....有其他語言,所以我迷路了。

即時通訊仍然學習這個,所以任何tipslinks等,我謙卑接受。

在此先感謝。

+0

我會更好地得到一個編程書籍和學習基礎知識,否則你將花費幾個月的時間學習你可以在幾天內 – fazo

+0

你想多少次印刷xyz?對於每一場比賽,一次迴歸真實?或只有一次,如果所有評估爲真? –

+1

獲取morn_T的長度,使用for循環並迭代所有數組索引,它是實現這一點的最簡單方法。 –

回答

1

嗡嗡聲,所以你不想一個循環?

var morn_T= new Array(6,7,8,9,10,11,12,13,14,15,16,17,18,19); 
for(var i = 0; i < morn_T.length; i++) 
    alert(morn_T[i]); 

Demo(將垃圾郵件alert)。

我建議你閱讀JavaScript。 This is one of the best resource around.

+0

謝謝,仍然在這裏學習。我嘗試使用for循環,但它一直不走運。我在morn_T [i]部分忘了「我」。再次謝謝你。 – somdow

1

你可以做像這樣一個簡單的Range類型:

var Range = function(a,b) { 
    this.min = Math.min(a,b); 
    this.max = Math.max(a,b); 
} 
Range.prototype.contains = function(x) { 
    return ((this.min <= x) && (x <= this.max)); 
}; 
var oneThroughTen = new Range(1, 10); 
oneThroughTen.contains(5); // => true 
oneThroughTen.contains(0); // => false 

你可以在端部添加包容性/排他性的其他方法爲好。

當然,如果你的範圍不連續,那麼你最好循環數組的內容和比較。

1

數組是否有序?
這些document.writes是否在另一種字符串數組中?

如果數組恰好是向上排序,你可以做到以下幾點:(僞代碼,我的JavaScript是不是最好的,請根據需要修改)

var i = 0; 
do 
{ 
    if(PullNumb > morn_t[i]) 
    { var stringVar = " "; 
     for(var j = 0; j <= morn_t[i]; j++) 
     { 
      stringVar += morn_t[j]; 
     } 
     break; 
    } 
    i++; 
} 
while(PullNumb < morn_t[i] && i < morn_t.Length()); 

所以基本上如果數組排序,通過它循環。繼續,直到數組不再,或直到PullNumb大於該數組值。

如果pullnumb大於該數組值,從數組的開始處開始,並將每個相應的字符串值附加到stringVar變量。

但是,如果數組只是隨機數,並且字符串(來自document.write)不在任何數組中,那麼我認爲使用switch語句的速度要適中一些。

1

你想要的概念可能是數組。過濾https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/filter它不會在所有瀏覽器都存在,但上面的頁面介紹瞭如何實現它

下面的代碼返回所有的數字陣列是小於pullNumb

var biggerThan = morn_T.filter(function(a){ return pullNumb < a; }); 
// Now you can just iterate through the filtered array 
for (var i=0; i < biggerThan.length; i ++) { console.log(biggerThan[i]); } 
相關問題