gpt4 book ai didi

flutter - 以两个或多个为一组迭代列表

转载 作者:行者123 更新时间:2023-12-03 03:12:23 26 4
gpt4 key购买 nike

我喜欢迭代一个列表并将它们分成几对,如下所示:

List<String> list = [1,2,3,4,5,6,7,8];
List<Tuple2> listOfTuples = list.take2((value1,value2) => Tuple2(value1,value2));
print(listOfTuples.toString()); // output => [[1,2],[3,4],[5,6],[7,8]]

我知道 dart 中有一个 take(count) 但我没有找到一个好的例子。

我知道我可以使用 for 循环等来做到这一点,但我想知道是否有更优雅的方法。

最佳答案

没有任何内置内容。我今天写的方式是:

  var list = [1, 2, 3, 4, 5, 6, 7, 8];
var tuples = [
for (int i = 0; i < list.length - 1; i += 2) Tuple2(list[i], list[i + 1]),
];

可以编写一个扩展,在List上提供一个API take2,可以按照您描述的方式使用。

extension Take2<T> on List<T> {
List<R> take2<R>(R Function(T, T) transform) => [
for (int i = 0; i < this.length - 1; i += 2)
transform(this[i], this[i + 1]),
];
}

关于flutter - 以两个或多个为一组迭代列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58757370/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com