You could create a model class mainly for getting type safety and equality checks ==. The latter is needed so a Set cand know when two objects are equals.
// Feel free to change the class name
class Datum {
final String date;
final List<String> data;
Datum(this.date, this.data);
@override
bool operator ==(Object other) =>
identical(this, other) ||
other is Datum && runtimeType == other.runtimeType && date == other.date && data == other.data;
@override
int get hashCode => date.hashCode ^ data.hashCode;
factory Datum.fromJson(Map<String, dynamic> json) => Datum(
json["date"] as String,
List<String>.from((json["data"] as List).map((x) => '$x')),
);
Map<String, dynamic> toJson() => {
"date": date,
"data": List<dynamic>.from(data.map((x) => x)),
};
}
And then you could use a Set so it does not hold duplicate objects. And by overriding the == and hashCode the Set checks if an two objects are the same.
var filterData = {
Datum.fromJson({'date': '25, feb', 'data': ['asd','dsa']}),
Datum.fromJson({'date': '25, feb', 'data': ['asd','dsa']}),
Datum.fromJson({'date': '26, feb', 'data': ['asd','dsa']})
}
Note that filterData now is a Set and not a List.