一尘不染

按字母顺序排序列表

flutter

我正在尝试按字母顺序对列表进行排序,并尝试将我在javascript中产生的某些内容扑朔迷离。但是它给了我一个关于String的异常,它没有实例方法“
<”。我希望有人可以帮助我解决此问题。因为我不知道如何解决此问题。

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 '<'.

阅读 273

收藏
2020-08-13

共1个答案

一尘不染

<>通常的快捷方式compareTo的方法。

只需使用该方法即可。

data.sort((a, b) {
  return a['name'].toLowerCase().compareTo(b['name'].toLowerCase());
});
2020-08-13