【问题标题】:How to sort by length and then alphabetically如何按长度排序,然后按字母顺序
【发布时间】:2017-11-17 03:47:10
【问题描述】:

假设我有以下 Javascript 数组。你如何按长度排序,然后按字母顺序?

假设如下数组:

var array = ["a", "aaa", "bb", "bbb", "c"];

排序后应生成:a, c, bb, aaa, bbb。提前谢谢!

【问题讨论】:

    标签: javascript sorting string-length alphabetical


    【解决方案1】:

    您可以先按长度排序,然后使用localeCompare()按字母排序。

    var array = ["a", "aaa", "bb", "bbb", "c"];
    array.sort(function(a, b) {
      return a.length - b.length || a.localeCompare(b)
    })
    
    console.log(array)

    【讨论】:

    • 我如何在 PHP 中做到这一点?
    【解决方案2】:

    先按长度排序,然后使用 || 按字母顺序排序多个条件的运算符。但是,在您的情况下,一个简单的排序就可以了。

    var array = ["a", "aaa", "bb", "bbb", "c"];
    
    array.sort(function(a, b) {
      return a.length - b.length || a.localeCompare(b);
    });
    
    console.log(array);

    或者

    var array =["c", "aa", "bb", "bbb", "b", "aaa", "a"].sort();
    
    array.sort(function(a, b) {
      return a.length - b.length || 0;
    });
    
    console.log(array);

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-24
    • 2011-03-25
    • 2018-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多