如何在 dart/flutter 中停止/中断 forEach 循环?

Gag*_*lor 14 foreach loops dart flutter

我想在 for 循环执行完成后中断 forEach 循环。

  void main() {
      var id = [1, 2, 3, 4, 5];


      id.asMap().forEach((index, number) {
        print('ForEach loop');

        for (int i = 0; i < 1; i++) {
          print("for loop");
        }
      });
    }
Run Code Online (Sandbox Code Playgroud)

Kah*_*hou 17

无法forEach与 Dart决裂。

您可以使用forindexOf

  for (var number in id) {
    var index = id.indexOf(number);

    print('Origin forEach loop');

    for (int i = 0; i < 1; i++) {
      print("for loop");
    }

    break;
  }
Run Code Online (Sandbox Code Playgroud)


Jit*_*net 6

我认为这对你有帮助。使用标签打破循环。

 void main() { 
 outerloop: // This is the label name 

   for (var i = 0; i < 5; i++) { 
   print("Innerloop: ${i}"); 
   innerloop: 

  for (var j = 0; j < 5; j++) { 
     if (j > 3 ) break ; 

     // Quit the innermost loop 
     if (i == 2) break innerloop; 

     // Do the same thing 
     if (i == 4) break outerloop; 

     // Quit the outer loop 
     print("Innerloop: ${j}"); 
   } 
 } 
}
Run Code Online (Sandbox Code Playgroud)

  • 我想打破 forEach 循环而不是 for 循环。 (2认同)

Jay*_*ola 6

我不认为,你可以停下来foreach

使用for:

var id = [1, 2, 3, 4, 5];

  for (int i in id) {
    if(i == 2)
      break;

    print('$i');
  }
Run Code Online (Sandbox Code Playgroud)