flutter - 按其值排序列表映射,保持 Flutter 中的顺序
问题描述
我正在制作一个需要分数和玩家姓名的游戏,之后我想按最高值对分数进行排序,并保留得分的玩家姓名。我有两个选择,不知道哪个最好以及如何去做。第一个是这样的:
List<Map> myList = [
{ 'name' : 'John', 'score': 23},
{ 'name' : 'Frederick', 'score': 61},
{ 'name' : 'Morgana', 'score': 48},
{ 'name' : 'Spoke', 'score': 36},
];
第二个是:
var info = {
"name": ['John', 'Frederick', 'Morgana', 'Spoke'],
"score": [23, 61, 48, 36],
};
预期的输出是:
Frederick: 61
Morgana: 48
Spoke: 36
John: 23
解决方案
首先是适合您情况的最佳解决方案。因为它在名称和分数之间有关联。你不能这样排序:
myList.sort((person1, person2) => person2['score'] - person1['score'] );
推荐阅读
- android-jetpack-compose - 如何使用jetpack compose为ConstraintLayout提及dimensionRation?
- python - 蒙特卡洛高斯函数
- javascript - 在每个级别生成聚合直到父级
- python - pyqt 没有显示我的进度条,但它需要时间来完成它
- reactjs - React 路由器 NavLink 活动视图匹配
- javascript - 如何替换反斜杠?
- python - (Python)有人可以帮我解决我的代码有什么问题吗?
- freertos - FreeRTOS 的调度程序的复杂性是多少?
- c++ - 在其自己的模板化成员方法中获取类的类型
- node.js - 节点未更新最新版本