Vision Worth
Vision Worth

Reputation: 31

Make Repeated List values into DISTINCT in Flutter

Current List

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}
]

I want this list converted into

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

Is there a way this is possible?

Upvotes: 1

Views: 134

Answers (1)

Akif
Akif

Reputation: 7640

I assume that this data will become a JSON. Then your model will look like this:


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;
  }
}

Then your input data will be List<newModel>. Now the problem becomes easier. Check for each item in your data list and if the headings are same then add group subheadings.

Upvotes: 1

Related Questions