繁体   English   中英

Flutter - 布尔计数列表

[英]Flutter - Count List with bool

在 Flutter 中,我创建了一个带有布尔值的列表。

List<bool> name = [false, false, false]

单击切换按钮时,值会更改为 true。

如何计算重新加载页面时的值?

我的尝试是在 initState 中计算列表是否包含 true。

value = name.contains(true).length

但它总是说没有为 class 'bool' 定义长度。

如何在重新加载页面时计算它?

提前致谢!

使用where而不是contains

value = name.where((item) => item == false).length

bool Iterable.contains(Object element) 如果集合包含等于 [element] 的元素,则返回 true。

此操作将检查每个元素是否等于 [element],除非它有更有效的方法来查找等于 [element] 的元素。

用于确定 [element] 是否等于可迭代元素的相等性默认为元素的 [Object.==]。

某些类型的可迭代对象可能对其元素使用不同的相等性。 例如,一个 [Set] 可能有一个自定义的相等性(见 [Set.identity]),它所包含的使用。 同样,[Map.keys] 调用返回的 Iterable 应该使用 Map 用于键的相同等式。

  • 来自 Dart 文档

TLDR: contains返回布尔值,指示列表是否“包含”一个项目。

老方法但易于理解... FOR

 List<bool> name = [false, false, false] int count = 0; for(int i=0; i<name.length; i++) { if (arrValue.elementAt(i) == true) { j++; } } print(count); //to count true

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM