假设我有以下 Javascript 数组。如何按长度排序,然后按字母顺序排序?
假设有以下数组:
var array = ["a", "aaa", "bb", "bbb", "c"];
排序后应该产生:
a, c, bb, aaa, bbb
。预先感谢您!
您可以先按长度排序,然后使用
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);
arr.sort((a, b) => a.length - b.length || this)