我遇到了一些相对简单的问题。我必须对字符串的字符进行排序并返回已排序的字符串(使用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