Dart - 在列表中查找重复值

Raf*_*nda 3 list dart flutter

如何在列表中找到重复值,假设我有一个这样的列表:

List<Map<String, dynamic>> users = [
    { "name": 'John', 'age': 18 },
    { "name": 'Jane', 'age': 21 },
    { "name": 'Mary', 'age': 23 },
    { "name": 'Mary', 'age': 27 },
  ];
Run Code Online (Sandbox Code Playgroud)

如何迭代列表以了解是否有同名用户?

cam*_*777 5

一个简单的方法是这样的:

void main() {
  List<Map<String, dynamic>> users = [
    { "name": 'John', 'age': 18 },
    { "name": 'Jane', 'age': 21 },
    { "name": 'Mary', 'age': 23 },
    { "name": 'Mary', 'age': 27 },
  ];
  List names = List();
  users.forEach((u){
    if (names.contains(u["name"])) print("duplicate ${u["name"]}");
    else names.add(u["name"]);
  });
}
Run Code Online (Sandbox Code Playgroud)

结果:

duplicate Mary
Run Code Online (Sandbox Code Playgroud)