【发布时间】:2017-11-17 03:47:10
【问题描述】:
假设我有以下 Javascript 数组。你如何按长度排序,然后按字母顺序?
假设如下数组:
var array = ["a", "aaa", "bb", "bbb", "c"];
排序后应生成:a, c, bb, aaa, bbb。提前谢谢!
【问题讨论】:
标签: javascript sorting string-length alphabetical
假设我有以下 Javascript 数组。你如何按长度排序,然后按字母顺序?
假设如下数组:
var array = ["a", "aaa", "bb", "bbb", "c"];
排序后应生成:a, c, bb, aaa, bbb。提前谢谢!
【问题讨论】:
标签: javascript sorting string-length alphabetical
您可以先按长度排序,然后使用localeCompare()按字母排序。
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 = ["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);
【讨论】: