【问题标题】:Search and find the string in List of DTO class in flutter?在flutter中搜索并找到DTO类列表中的字符串?
【发布时间】:2021-03-26 02:03:17
【问题描述】:

我有这个 DTO 类,作为对 API 的响应,我得到了这个列表:

class ProjectCode {
  String id;
  String projectCode;
  String projectTitle;

  ProjectCode({this.id, this.projectCode, this.projectTitle});

  ProjectCode.fromJson(Map<String, dynamic> json) {
    id = json['Id'];
    projectCode = json['ProjectCode'];
    projectTitle = json['ProjectTitle'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['Id'] = this.id;
    data['ProjectCode'] = this.projectCode;
    data['ProjectTitle'] = this.projectTitle;
    return data;
  }
}

现在我如何在列表中搜索并找到我需要找到它的ProjectTitle,并且该方法返回 DTO 中的 id?

【问题讨论】:

    标签: list flutter search


    【解决方案1】:

    这个很简单,你可以用这个方法找到你需要找到的String。为您需要像这样搜索的所有内容制作这样的方法:

      String find(List<ProjectCode> projectCodeList, String projectTitle) {
        return projectCodeList
            .firstWhere(
                (projectCode) => projectCode.projectTitle.contains(projectTitle))
            .id;
      }
    

    【讨论】:

    • 如果您要经常这样做,请制作一个包含 projectTitle 键和 [id, projectCode] 值的列表的 Map。构建地图后,查找是恒定时间而不是线性时间。
    • @RandalSchwartz 感谢您的建议,如果您为此编写地图,我很高兴,我会向您学习。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多