2011-07-09 31 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所说,如果你能澄清你的问题,我们可能会提供帮助。

如果你澄清你的问题,你可能会发现你可以自己回答,没有帮助。这是编程。