假设我有以下Javascript数组。你如何按长度排序,然后按字母顺序排序。假设以下数组:如何按长度排序然后按字母顺序排列
var array = ["a", "aaa", "bb", "bbb", "c"];
当排序它应该产生:a,c,bb,aaa,bbb。先谢谢你!
假设我有以下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"];
array.sort(function(a, b) {
return a.length - b.length || [a,b].sort()[0]===b;
});
console.log(array);
只需要进行排序,就会更改源数组,因此您无需将其分配给新变量。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort?v=control –
如果你不想改变原始数组,你可以先制作一个副本这个https://stackoverflow.com/questions/9592740/how-can-you-sort-an-array-without-mutating-the-original-array –
@jasonSperske好习惯的习惯力量。 – Rick
谢谢大家。这段代码完全适合我! –
不客气。 –
如何在PHP中执行此操作? – TricksfortheWeb