如何使用Dart将列表分割或切块成相等的部分?

61
假设我有一个列表,如下所示:
var letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'];

我需要一个包含2个元素的列表的列表:
var chunks = [['a', 'b'], ['c', 'd'], ['e', 'f'], ['g', 'h']];

使用Dart语言,有什么好的方法可以实现这个功能?
21个回答

-1

该函数根据给定的块大小,返回原始数组的子列表。

chunkArray(List<dynamic> original, int size) {
        var sublist = List.generate((original.length ~/ size) + 1, (e) => []);
        for (var i = 0; i < sublist.length; i++) {
         int remaining=(original.length - i * size);
          sublist[i] = original.sublist(
              i * size,
              i * size +
                  ( remaining> size
                      ? size
                      : remaining));
    }
        return sublist;
      }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接