【问题标题】:How to Loop through a list of elements如何循环遍历元素列表
【发布时间】:2018-09-05 23:25:24
【问题描述】:

我的问题很简单,如何创建一个循环来循环一个简单的元素列表。

List li=["-","\\","|","/"];

这是我的飞镖列表,我想创建这个简单的动画。

【问题讨论】:

标签: dart


【解决方案1】:

试试这段代码循环遍历一个列表:

List li=["-","\\","|","/"];
for (var i=0; i<li.length; i++) {
    print(li[i]);
}

关于动画:

HTML

    <p id="test">
    test
    </p>

飞镖

  import 'dart:html';
  import 'dart:async';

  main() async {
  List li = ["-", "\\", "|", "/"];
    for (var i = 0; i < 400000000; i++) {
      querySelector('#test').text = li[i % 4];
      (await new Future.delayed(const Duration(seconds: 1)));
    }
  }

【讨论】:

    【解决方案2】:

    循环遍历元素列表的不同方法

    1 经典之作

    for (var i = 0; i < li.length; i++) {
      // TO DO
      var currentElement = li[i];
    }
    

    2 增强的 For 循环

    for(final e in li){
      //
      var currentElement = e;
    }
    

    注意关键字final。表示单次赋值,final 变量的值不能改变。

    3个while循环

    var i = 0;
    while(i < li.length){
      var currentElement = li[i];
      i++;
    }
    

    对于while 循环,您将使用var 重新分配变量值。

    【讨论】:

    • 请问'var'和'final'有什么区别?
    • abdhoms 我猜你不想在 for 中更改 'e' 的值。一旦它创建了一个值,它就会一直使用它,直到它被销毁,这发生在每次迭代结束时。
    • @abdhoms ,不同之处在于 var 可以重新分配变量。 final 表示单一赋值,final 变量的值不能更改。
    【解决方案3】:

    在 Dart 中循环遍历列表的另一种方式:

    使用 forEach 方法:

      li.forEach((value) {
        var currentElement = value;
      });
    

    使用 While 循环和迭代器:

    // First, get an iterator to the list:
    var myListIter = li.iterator;
     
    // Iterate over the list:
    while(myListIter.moveNext()){
        var currentElement = myListIter.current;
    }
    

    【讨论】:

      【解决方案4】:

      有多种方法可以从列表中获取循环 例如我们有这种类型的列表

      var mylist = [6, 7 ,9 ,8];
      

      用于每种方法

       mylist.forEach((e){
         print(e);
       });
      

      使用for循环

      for (int i=0 ; i<mylist.length; i++){
         var e = mylist[i];
        print(e);
      }
      

      增强的 For 循环

      for (var e in mylist){
         print(e);
      }
      

      使用while循环

       var i = 0;
        while(i < mylist.length){
          print(mylist[i]);
         i++;
       }
      

      【讨论】:

        猜你喜欢
        • 2018-07-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-16
        • 2012-11-23
        • 2016-05-29
        相关资源
        最近更新 更多