flutter 地图排序列表
flutter Sorting list of map
所以我想制作如下图所示的评级框,但是对于评级值它还没有排序,而且它不是 int/double 而是字符串。什么代码适合这个?
我希望它的结果是从高评分 5 到最低评分 1
如果你能给出一些示例代码我会很高兴
不介意线性进度条
json数据
"all_rating": [
{
"rating": "1",
},
{
"rating": "2",
},
{
"rating": "4",
},
{
"rating": "4.5",
},
{
"rating": "5",
}
],
使用double.parse(<any string containing double>)
将字符串转换为double,然后进行相应排序。
要排序,需要给出自定义比较函数
list.sort((a, b) => a.rating.compareTo(b.rating));
您可以使用 double.parse(<any string containing double>)
将 string 转换为 double,然后按如下方式对它们进行排序。
// this is list of double that you got from map.
List<double> doubleList = [1,0.5,4,3,2];
// sort the list using sort function.
doubleList.sort();
我认为这个排序系统可以帮助您找到解决方案。
List<Map> allRating = [
{
"rating": "1",
},
{
"rating": "2",
},
{
"rating": "4",
},
{
"rating": "4.5",
},
{
"rating": "5",
}
];
allRating.sort((a, b) => (b['rating']).compareTo(a['rating'])); /// sort List<Map<String,dynamic>>
print(allRating); /// output -> [{rating: 5}, {rating: 4.5}, {rating: 4}, {rating: 2}, {rating: 1}]
所以我想制作如下图所示的评级框,但是对于评级值它还没有排序,而且它不是 int/double 而是字符串。什么代码适合这个?
我希望它的结果是从高评分 5 到最低评分 1
如果你能给出一些示例代码我会很高兴
不介意线性进度条
json数据
"all_rating": [
{
"rating": "1",
},
{
"rating": "2",
},
{
"rating": "4",
},
{
"rating": "4.5",
},
{
"rating": "5",
}
],
使用double.parse(<any string containing double>)
将字符串转换为double,然后进行相应排序。
要排序,需要给出自定义比较函数
list.sort((a, b) => a.rating.compareTo(b.rating));
您可以使用 double.parse(<any string containing double>)
将 string 转换为 double,然后按如下方式对它们进行排序。
// this is list of double that you got from map.
List<double> doubleList = [1,0.5,4,3,2];
// sort the list using sort function.
doubleList.sort();
我认为这个排序系统可以帮助您找到解决方案。
List<Map> allRating = [
{
"rating": "1",
},
{
"rating": "2",
},
{
"rating": "4",
},
{
"rating": "4.5",
},
{
"rating": "5",
}
];
allRating.sort((a, b) => (b['rating']).compareTo(a['rating'])); /// sort List<Map<String,dynamic>>
print(allRating); /// output -> [{rating: 5}, {rating: 4.5}, {rating: 4}, {rating: 2}, {rating: 1}]