我看一个使用两个for循环的替代编码,我的代码需要将数组b中的值覆盖为a,如果b的值大于a,则在break和循环之后a将继续指向下一个索引,直到它具有下一个'mm'值,而循环b将从它“break”的位置恢复
有更干净的代码吗?
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;
}
}
}
答案 0 :(得分:0)
这是我认为你想说的,但我可能需要更多信息。
我正在寻找另一种方法 代码我嵌套for循环。我的方法 需要一个覆盖中的值 数组a,其值为数组b,
如果a小于b
来自内循环的
时发生break
之后, a将继续增加,直到 下一个 mm 值,b将继续 递增,直到下一个 mm 值。 因此,a
的更改仅在
- 表示
当前索引的值以ma为单位,等于mm的值 当前指数以mb
- 醇>
a
小于b
,将b [j]的值指定给[i]。 然后b
内循环打破我们 继续a
并重新开始
假设这就是你想要的,那么你只需要在休息之前跟踪j
那么当你在迭代时
for (j = setIndex; j < b.length ; j++)
在休息之前,你可以说是有条件的
setindex = j+1;
下次循环开始时,它应该从它停止的地方开始。
答案 1 :(得分:0)
我怀疑你发现很难解决这个问题的原因是你发现很难定义问题。正如phwd所说,如果你能澄清你的问题,我们可以提供帮助。
如果你澄清了你的问题,你可能会发现你可以在没有帮助的情况下自己回答。这是编程。