我正在寻找一种基于给定值而不是使用两个列表对列表进行排序的最简单方法。
示例我有列表[a,b,c,d]
,给定值d
,我可以这样排序:
但是如果我有一个对象列表,我该如何根据给定的值对它进行排序呢?
示例
List<ABC> list = [{fid:1,name:"a"},{fid:2,name:"b"},{fid:3,name:"c"},{fid:4,name:"d"}]
我有值 3。我想将列表排序为
List<ABC> list = [{fid:3,name:"c"},{fid:1,name:"A"},{fid:2,name:"b"},{fid:4,name:"d"},{fid:4,name:"d"}]
最佳答案
你只需要在这里执行自定义排序,其余的事情将保持不变。
List list = [{"fid":1,"name":"z"},{"fid":10,"name":"b"},{"fid":5,"name":"c"},{"fid":4,"name":"d"}];
list.sort((a,b)=> a["fid"].compareTo(b["fid"]));
int fidIndex=4;
int indexToRemove=list.indexWhere((element) => element["fid"]==fidIndex);
Map<String,dynamic> removedItem= list.removeAt(indexToRemove);
list.insert(0,removedItem);
print(list);
关于list - 排序列表 flutter ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64024617/