我在弄清楚如何过滤一个大列表两次并在列表生成器中显示结果时遇到了麻烦。有人能告诉我最好的方法吗?这里有详细信息。
首先是一个数据示例。我想首先通过匹配产品代码(索引/元素12)来筛选列表。然后,如果用户选择不需要该项目的特定功能,我想将第一次搜索的结果筛选为前11个元素中只有“N”的项目。然后在列表中显示结果。因此,换句话说。首先按产品类别代码1-12进行筛选,然后按产品特性Y或N进行筛选。然后在列表中显示每个项目。刚开始时,这听起来很简单,但我要么漏掉了什么,要么就是不明白。我确实有项目显示搜索结果,但它们与搜索条件不匹配。现在,我把它搞得一团糟,所以我真的只是想了解做这件事的最佳方法。所以,用户首先选择他们的类别,然后在下一个屏幕上选择从最终结果中排除的特征。
以下是数据的示例。“”“class CatIngBrain {
final List<CatIng> catIngBank = [
CatIng( "N", "Y", "Y", "Y", "Y", "Y",
"Y", "Y", "Y", "Y","Y", "Y", "1", ‘MAYNARD’, ‘’, ''),
CatIng( "N", "Y", "N", "N", "Y", "N",
"Y", "N", "N", "N","Y", "N", "2", ‘BLESSED EVENT’, '', ‘’, ),
CatIng( "N", "Y", "Y", "Y", "N", "N",
"Y","N", "N", "N", "Y", "N", "3", "GLOBE", '', ''),
构造函数被设置为匹配字段,因为它不在键:值对中,就像我看到的很多例子一样。//0字符串输入;//1字符串入车;//2字符串输入;//3字符串输入Fra;//4字符串ingPab;//5字符串参数;//6字符串输入宠物;//7字符串输入//8字符串输入;//9字符串输入Sul;//10字符串输入公差;//11字符串输入类别代码;//12字符串产品名称;//13
CatIng(
this.ingAcr, //0
this.ingBen,//1
this.ingCar,//2
this.ingFor,//3
this.ingFra,//4
this.ingPab,//5
this.ingPar,//6
this.ingPet,//7
this.ingPht,//8
this.ingSil,//9
this.ingSul,//10
this.ingTol,//11
'''
编辑,只关注第一个过滤器,我认为这是我的问题:我在上面的产品类别中使用的过滤器是
''' final Iterable<dynamic> ingsToFilterList =
catIngBrain.catIngBank.where((e) => e.ingCatCode ==
passedIngCatCode).toList();'''
这只是为了过滤类别。它返回[Instance of 'CatIng',Instance of 'CatIng'],但是当我在列表中显示返回时,它没有显示包含正确类别代码的两个索引项的正确索引。感谢您的建议
1条答案
按热度按时间h5qlskok1#
你可以检查这种类型
List.sort() example
same question in StackOverFlow kinda