按字母顺序对列表进行排序

问题描述 投票:2回答:1

我正在尝试按字母顺序对列表进行排序,并尝试将我在javascript中移植的内容移植到其中。但它给我一个例外,它没有实例方法'<'。我希望有人可以帮我解决这个问题。因为我不知道如何纠正这个问题。

data.sort((a, b) {
            var aName = a['name'].toLowerCase();
            var bName = b['name'].toLowerCase();
            return ((aName < bName) ? -1 : ((aName > bName) ? 1 : 0));
        });

我得到这个例外:

E/flutter (16823): [ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter (16823): NoSuchMethodError: Class 'String' has no instance method '<'.
flutter
1个回答
10
投票

<>通常是compareTo方法的捷径。

只需使用该方法。

data.sort((a, b) {
  return a['name'].toLowerCase().compareTo(b['name'].toLowerCase());
});
© www.soinside.com 2019 - 2024. All rights reserved.