在 Flutter 中将重复列表值转换为 DISTINCT

Posted

技术标签:

【中文标题】在 Flutter 中将重复列表值转换为 DISTINCT【英文标题】:Make Repeated List values into DISTINCT in Flutter 【发布时间】:2021-02-04 17:22:27 【问题描述】:

当前列表

I/flutter ( 5752): END : [
Heading: Heading2, Subheading: SubHeading1, 
Heading: Heading2, Subheading: SubHeading2, 

Heading: Heading3, Subheading: SubHeading1, 
Heading: Heading3, Subheading: SubHeading2, 
Heading: Heading3, Subheading: SubHeading3, 
Heading: Heading3, Subheading: SubHeading5
]

我想把这个列表转换成

[
Heading: Heading2, Subheading: SubHeading1, Subheading: SubHeading2 , 
Heading: Heading3, Subheading: SubHeading1, Subheading: SubHeading2, Subheading: SubHeading3, Subheading: SubHeading5, 
]

有没有办法做到这一点?

【问题讨论】:

【参考方案1】:

我假设这些数据将变成 JSON。然后您的模型将如下所示:


class NewModel 
  String heading;
  List<String> subheading;

  NewModel(this.heading, this.subheading);

  NewModel.fromJson(Map<String, dynamic> json) 
    heading = json['Heading'];
    subheading = json['Subheading'].cast<String>();
  

  Map<String, dynamic> toJson() 
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['Heading'] = this.heading;
    data['Subheading'] = this.subheading;
    return data;
  


那么您的输入数据将是List&lt;newModel&gt;。现在问题变得更容易了。检查数据列表中的每个项目,如果标题相同,则添加组子标题。

【讨论】:

以上是关于在 Flutter 中将重复列表值转换为 DISTINCT的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Flutter 中将 JSON 转换为对象? [关闭]

在 Flutter 输入中将值转换为数字格式?

在java中将整数列表转换为整数数组[重复]

在Android中将任何颜色代码转换为最接近的人类颜色[重复]

如何在Python中将字符串列表转换为字典列表[重复]

在python中将列表错误地转换为数据框[重复]