假設我有以下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