在 Flutter 中对 JSON 列表进行排序 [重复]
Posted
技术标签:
【中文标题】在 Flutter 中对 JSON 列表进行排序 [重复]【英文标题】:Sort JSON list in Flutter [duplicate] 【发布时间】:2019-12-10 17:49:47 【问题描述】:我需要在 Flutter 中对一个列表进行排序,这是一个对象列表,我有一个模型,并且该模型有一个名为 isFeatured 的属性,我需要所有 isFeatured 为 true 的元素都位于列表的第一个位置。
我的意思是我可以有类似的东西:
[
id: 1,
name: 'Test',
isFeatured: false,
,
id: 2,
name: 'Test 3',
isFeatured: true,
,
id: 3,
name: 'Test 5',
isFeatured: false,
,
id: 4,
name: 'Test 34',
isFeatured: true,
]
并且isFeatured为true的元素应该在第一个位置。
【问题讨论】:
【参考方案1】:您可以将排序方法与布尔的自定义比较器一起使用
myList.sort((a, b) => (a.isFeature ? 1 : 0) - (b.isFeature ? 1 : 0));
【讨论】:
【参考方案2】:使用 List.sort
var myList = [
'id': 1,
'name': 'Test',
'isFeatured': false,
,
'id': 2,
'name': 'Test 3',
'isFeatured': true,
,
'id': 3,
'name': 'Test 5',
'isFeatured': false,
,
'id': 4,
'name': 'Test 34',
'isFeatured': true,
];
myList.sort((a, b) => (b['isFeatured']?1:0).compareTo(a['isFeatured']?1:0));
【讨论】:
以上是关于在 Flutter 中对 JSON 列表进行排序 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Flutter 中对 DataTable 小部件上的 Future<List> 数据类型进行排序?
如何在 Play Framework 模板中对列表进行排序?