我遇到了一些相對簡單的問題。我必須對字符串的字符進行排序並返回已排序的字符串(使用Javascript)。在搜索答案後,我想出瞭解決方案,但出於某種原因,方法不會返回我預期的輸出。使用Javascript按字母順序排序字符串
var str = "Something";
var chars = [];
for (var i = 0; i < str.length; i++) {
chars.push(str.charAt(i));
}
chars.sort().join("");
console.log(chars);
我接收的輸出是這樣的:
["S", "e", "g", "h", "i", "m", "n", "o", "t"]
1)儘管使用。加入()方法的charachters仍然逗號分隔。也嘗試使用.replace()方法,但這使我想到了第二個問題。
2.)雖然.join()應該返回一個字符串,但typeof字符仍然是一個對象。我也嘗試使用.toString()方法,但輸出的類型仍然是一個對象。
'chars.push()'推到一個數組,所以逗號預計 - 使用'chars + ='代替 –
請注意,默認'.sort()'不會按字母順序排序,它會根據每個字符的Unicode代碼點值進行排序。如果你全部使用小寫字母或全部大寫字母,那麼最終會按字母順序排列,但在你的情況下你不會。 (所以'''蘋果''在'斑馬'之後,但在'斑馬'之前。) – nnnnnn