gpt4 book ai didi

sorting - 在Dart-Second Level中对 map 列表进行排序

转载 作者:行者123 更新时间:2023-12-04 02:58:53 24 4
gpt4 key购买 nike

我有这样的 map 列表:

var associations = [{'name': 'EG', 'description': 'Evil Genius'},
{'name': 'NaVi', 'description': 'Natus Vincere'}];

var members = [
{'associationName': 'EG', 'firstName': 'Bob', 'lastName': 'Dylan', 'email': 'bd@gmail.com'},
{'associationName': 'NaVi', 'firstName': 'John', 'lastName': 'Malkovich', 'email': 'jm@gmail.com'},
{'associationName': 'EG', 'firstName': 'Charles', 'lastName': 'Darwin', 'email': 'cd@gmail.com'}
];

我想编写一个代码,该代码将按姓氏,然后按名字的字母顺序对成员列表进行排序。此外,我希望能够找到其姓氏以指定字母开头的成员。例如,使用D,我们将得到Bob Dylan和Charles Darwin。我可以使用一个 map 或一个列表来管理它,但是将 map 列表组合起来会更加困难。

谢谢你的帮助。

最佳答案

排序 :

members.sort((m1, m2) {
var r = m1["lastName"].compareTo(m2["lastName"]);
if (r != 0) return r;
return m1["firstName"].compareTo(m2["firstName"]);
});

要过滤:

members.where((m) => m['lastName'].startsWith('D'));

关于sorting - 在Dart-Second Level中对 map 列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22177838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com