过滤器列表对象包含值

泽弗瑞·雷南多(Zeffry Reynando)
class Lesson {
  int idLesson;
  String nameLesson;
  List<DayLesson> dayLesson;
  Lesson({this.idLesson, this.dayLesson, this.nameLesson});
}

class DayLesson {
  int idDay;
  String nameDay;
  DayLesson({this.idDay, this.nameDay});
}

List<DayLesson> listDay = [
  DayLesson(idDay: 1, nameDay: 'Monday'),
  DayLesson(idDay: 2, nameDay: 'Tuesday'),
  DayLesson(idDay: 3, nameDay: 'Wednesday'),
  DayLesson(idDay: 4, nameDay: 'Thursday'),
  DayLesson(idDay: 5, nameDay: 'Friday'),
  DayLesson(idDay: 6, nameDay: 'Saturday'),
  DayLesson(idDay: 7, nameDay: 'Sunday'),
];

List<Lesson> listLesson = [
  Lesson(
    idLesson: 1,
    nameLesson: 'Matematic',
    dayLesson: [
      DayLesson(idDay: 1, nameDay: 'Monday'),
      DayLesson(idDay: 5, nameDay: 'Friday'),
    ],
  ),
  Lesson(
    idLesson: 2,
    nameLesson: 'Indonesia Language',
    dayLesson: [
      DayLesson(idDay: 2, nameDay: 'Tuesday'),
      DayLesson(idDay: 4, nameDay: 'Thursday'),
    ],
  ),
  Lesson(
    idLesson: 3,
    nameLesson: 'Chemistry',
    dayLesson: [
      DayLesson(idDay: 3, nameDay: 'Wednesday'),
    ],
  ),
  Lesson(
    idLesson: 4,
    nameLesson: 'Physics',
    dayLesson: [
      DayLesson(idDay: 4, nameDay: 'Thursday'),
      DayLesson(idDay: 5, nameDay: 'Friday'),
    ],
  ),
  Lesson(
    idLesson: 5,
    nameLesson: 'Basic Invesment',
    dayLesson: [
      DayLesson(idDay: 1, nameDay: 'Monday'),
    ],
  ),
];

在上面的代码中,我有2个名为Lesson和的DayLesson我想List<Lesson>在此列表中包含ID为X的日期的地方进行搜索listLesson.where((element)=>element.dayLesson.contain(1)).toList()
我对以上示例的期望将返回2个数据,因为listDay中的ID的值为1:

[
Lesson(
    idLesson: 1,
    nameLesson: 'Matematic',
    dayLesson: [
      DayLesson(idDay: 1, nameDay: 'Monday'),
      DayLesson(idDay: 5, nameDay: 'Friday'),
    ],
  ),
  Lesson(
    idLesson: 5,
    nameLesson: 'Basic Invesment',
    dayLesson: [
      DayLesson(idDay: 1, nameDay: 'Monday'),
    ],
  ),
]

但是问题是,我总是得到空名单。是我的结构List有问题还是我错过了什么?

沙巴布·卡里姆(Shababb Karim)

我不知道的东西包含是做正确的方式。由于您有嵌套在列表内的列表,因此您将必须嵌套在何处以及任何操作。

List<Lesson> _findLessons(int dayLessonId) {
   return listLesson
          .where((element)=> element.dayLesson.any((dL) => dL.idDay == dayLessonId))
          .toList();
} 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

过滤器列表包含多个对象java

字典的过滤器列表包含相同的键、值

包含对象数组的过滤器对象

对象列表中的过滤器列表

包含数组的 JS 过滤器对象

具有对象包含键数组对的对象嵌套对象的过滤器列表

Javascript:按过滤器对象列表过滤对象列表

缺少属性的对象的过滤器列表

VueJS中对象的过滤器值

C#-如何对对象列表进行多个包含过滤器

是否可以在包含键列表(值)的属性上运行“ HAS ANCESTOR”过滤器/查询

如何使用django中既包含字符串值又包含列表值的字典中的过滤器?

根据选择下拉列表值反应对象的过滤器数组

如何在Aside对象中获取列表过滤器的值

不返回过滤值的对象的过滤器数组

使用多个过滤器值过滤对象

基于对象属性列表的 Linq 过滤器列表

通过列表对象的字段属性过滤器列表

在过滤器中包含“NULL”值以及 Elastica 中的范围过滤器

Django过滤器,其中ManyToMany字段包含列表的全部

Javascript 列表过滤器 - 包含任何单词而不是 contains

仅在列表中包含logstash下降过滤器

错误 1004 vba 数据透视过滤器包含值

jq数组中包含的过滤器值

jQuery价格过滤器-设置过滤器对象的幻灯片值

从过滤器具有相同的成员对象的列表

基于嵌套对象属性的Java 8过滤器列表

“列表”对象没有属性“过滤器”

在集合中查找单个对象,HashMap与列表过滤器