在Javascript中按字母顺序排序字符串

时间:2016-07-31 07:07:14

标签: javascript sorting

我遇到了一些相对简单的任务问题。我必须对字符串的字符进行排序并返回已排序的字符串(在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。)尽管使用了.join()方法,但字符串仍然以逗号分隔。还尝试使用.replace()方法,但这让我想到了第二个问题。

2。)尽管.join()应该返回一个字符串,但字体仍然是一个对象。我也尝试使用.toString()方法,但输出类型仍然是一个对象。

2 个答案:

答案 0 :(得分:9)

join()不会修改数组,但会返回一个您当前不使用的新对象。所以你的代码应该是这样的:

var str = "Something";
var chars = [];

for (var i = 0; i < str.length; i++) {
    chars.push(str.charAt(i));
}

chars = chars.sort().join("");
console.log(chars);

然而,您可以在单行中执行此操作:

let chars = str.split('').sort().join('');

答案 1 :(得分:2)

const sorted = str.split('').sort().join('')