• 求助
  • 如何优雅的退出多重循环

当我在遍历一个多维数组,想找某个具备某条件的元素时,我多么希望gml能有一个类似goto的关键字,能让我在找到之后,迅速的脱离多重循环。但现在我只能依靠一个全局变量,逐层判断,退出循环!!该死!

  • dmdd1233 觉得很赞
  • 对不起回复的时候在水群,走神了。多重if可以break。多重循环应该只能return

封装成函数然后直接return
包装在while里然后直接break

    拽根杠 包装在while,怎么做?比如我在一个二维数组里找有没有0存在?

      对不起回复的时候在水群,走神了。多重if可以break。多重循环应该只能return

        for(var i=0; i<10; ++i ){
            for( var j=0; J<20; ++J ){
                    if(xxxxxx)
                          i=10;//或者变更标记flag
                          break;
                    }
            }
        }

          长老湿 我想找的是某个坐标。这样就把坐标给改了。弄一个标记倒是可以。然后在外循环和内循环之间判断一下。

            for(i = 0;i<99;i+=1)
            for(j = 0;j<99;j+=1)
            {
            	if(a == b)
            	{
            		i = 100;
            		j = 100;
            		//因为不符合循环条件,下一次退出循环
            	}
            }

              dmdd1233 这样做确实可以直接跳出,但是很多时候后面的程序需要i,j在跳出循环时的值,对于gml来说封装return也许是最好的方法/吧

                说点什么吧...