美文网首页
Flutter Dart数组固定长度分割

Flutter Dart数组固定长度分割

作者: readonly__ | 来源:发表于2019-10-13 16:07 被阅读0次

     将dart数组按照指定的长度分割,返回一个二维数组,实现list的split功能.

     ```

     eg:

     源数组:a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

    splitList(a, 6):[[0, 1, 2, 3, 4, 5], [6, 7, 8, 9, 10, 11], [12, 13, 14, 15, 16, 17], [18, 19]]

     ```

    代码如下:

    ```dart

    static List<List<T>> splitList<T>(List<T> list, int len) {

        if (len <= 1) {

          return [list];

        }

        List<List<T>> result = List();

        int index = 1;

        while (true) {

          if (index * len < list.length) {

            List<T> temp = list.skip((index - 1) * len).take(len).toList();

            result.add(temp);

            index++;

            continue;

          }

          List<T> temp = list.skip((index - 1) * len).toList();

          result.add(temp);

          break;

        }

        return result;

      }

    ```

    相关文章

      网友评论

          本文标题:Flutter Dart数组固定长度分割

          本文链接:https://www.haomeiwen.com/subject/afecwttx.html