如何在Flutter中重复数组的值

12

我是iOS开发者,对Flutter还很新。在Swift语言中,如果我们想要在数组中重复相同的值一定的次数。

例子:

如果我想要在数组中重复0 5 次,则可以通过以下一行代码实现。

let fiveZeros = Array(repeating: "0", count: 5)
print(fiveZeros)
// Prints "["0", "0", "0", "0", "0"]"

使用init(repeating:count:)函数。

因此,我正在寻找在Flutter中可用的任何函数或代码。

我尝试了谷歌搜索,但没有找到解决方法。


你能分享一下需要使用这个重复函数的用例吗? - Phuc Tran
实际上,我只是为了学习目的而制作演示应用程序,在其中我想要选择和取消选择ListTile。 - Govaadiyo
我正在投票关闭此问题,因为我们可以在Flutter的官方文档中轻松找到答案。 - Govaadiyo
我认为你应该保留它,这对于新的开发人员仍然很有用。 - Phuc Tran
4个回答

21
在Dart中,您可以使用Listfilled工厂。
final list = List.filled(5, 0);
print(list);  //-> [0, 0, 0, 0, 0]

请参阅列表文档了解更多内容。


太好了!得到了预期的输出。感谢您提高了我的知识水平。 - Govaadiyo

5
从Dart 2.3.0开始,您可以使用条件和循环初始化程序,因此对于您的情况,应该是:

var fiveZeros = [for (var i = 0; i < 5; ++i) 0];

当您想通过表达式进行初始化而不仅仅是常量时,一切变得更加灵活和强大:

var cubes = [for (var i = 0; i < 5; ++i) i * i * i];

这与[0, 1, 8, 27, 64]相同。

考虑到可能需要构建一个小部件列表,其中某些部件取决于状态或平台,条件元素也是必不可少的。

更多详细信息在此处


4
你可以像@Edman提供的那样使用filled方法。我只想再添加一种方法,即使用generate
final list = new List.filled(5, 0);
print(list);

final list1 =  new List.generate(5, (index) {
  return 0;
});
print(list1);

1
使用List.generate方法。
var list = List.generate(5, (i) => 'Z');

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