2011-07-09 139 views
0

我看着一個替代編碼使用兩個for循環,我的代碼是要求覆蓋數組b中的值,如果b的值比a大,break和loop之後a會繼續指向下一個索引,直到它具有下一個「毫米」值,而循環b將從「斷裂」的位置恢復。更好的代碼爲2 for循環?

有沒有更清潔的代碼?

var a = ['100','200','300','400','500']; 
var ma = ['-','mm','-','-','mm']; 

var b = ['100','150','160','200','250','300','500','600']; 
var mb = ['-','-','-','-','mm','','','mm']; 

for loop a 
    if(ma[]=='mm') 
    { 
    for loop b 
     if(ma[]=='mm') 
     { 
     if (a < b) { 
     break; 
     } 
     } 
    } 
+3

我敢打賭,沒有人會回答這個:)你能解釋一下你需要更清楚嗎? – alxx

+0

沒有意義。特別是其中第二個:if(ma [] =='mm')爲什麼你會再次檢查一次,以防第一次檢查時出現誤報? for循環if(ma [] =='mm')//你在這裏檢查第一個{for循環b if(ma [] =='mm')//我們再次檢查它嗎?呵呵?這種情況何時會發生錯誤? {if(a Nate

回答

0

這是我認爲你想說的,但我可能需要更多的信息。

我正在尋找替代方法來 代碼我嵌套for循環。我的方法 需要一個與數組b的值覆蓋值在 陣列,

如果a小於b

break從內循環後, 一個將繼續直到 下一個毫米值和b將繼續增加,直到下一個毫米值。 所以改變a發生僅當

  1. 在毫安電流索引處的值等於毫米它等於的 當前索引以MB爲值

  2. a小於b,分配的值在b [j]到a [i]。 然後b內環休息,我們 在a沿着持續,並開始了

假設是你想要的,那麼你只需要跟蹤j的突破

所以之前那麼當你迭代

for (j = setIndex; j < b.length ; j++) 

休息前,內有條件的可以說

setindex = j+1; 

而下一次循環開始時,它應該從停止的地方開始。

0

我懷疑你發現很難解決這個問題的原因是因爲你發現很難定義問題。正如phwd所說,如果你能澄清你的問題,我們可能會提供幫助。

如果你澄清你的問題,你可能會發現你可以自己回答,沒有幫助。這是編程。