gpt4 book ai didi

sorting - 如何在Dart中创建排序方法?

转载 作者:行者123 更新时间:2023-12-03 03:40:19 26 4
gpt4 key购买 nike

给定一个几个月的List<String>,如何在Dart中创建自己的排序方法?
考虑这个relevant link

排序顺序为:

["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]

示例

鉴于:

List<String> months = ["October", "January", "July"];

预期输出为:

["January", "July", "October"]

最佳答案

您可以使用 List.sort method
根据您提供的排序顺序,您可以使用indexOf获取表示排序“权重”的整数值,然后如果元素num.compareTo应该出现在元素a之前(即b值较小),并且使用 indexOf 返回负值。如果它应出现在元素b之后,则为正值:

const List<String> sortingOrder = ['January', 'February', 'March', 'April',
'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];

List<String> months = ['October', 'January', 'July'];
months.sort((a, b) => sortingOrder.indexOf(a).compareTo(sortingOrder.indexOf(b)));

print(months); // [January, July, October]

这样,您显然可以非常轻松地创建对各种类型的值进行排序的任何排序顺序。

关于sorting - 如何在Dart中创建排序方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57012413/

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