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

gyo*_*ecz 2 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);
Run Code Online (Sandbox Code Playgroud)

我收到的输出是这样的:

["S", "e", "g", "h", "i", "m", "n", "o", "t"]
Run Code Online (Sandbox Code Playgroud)

1.)尽管使用.join()方法,但charachters仍以逗号分隔.还尝试使用.replace()方法,但这让我想到了第二个问题.

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

Sir*_*rko 10

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);
Run Code Online (Sandbox Code Playgroud)

但是,您可以在一个班轮中执行此操作:

let chars = str.split('').sort().join('');
Run Code Online (Sandbox Code Playgroud)


udn*_*sap 5

const sorted = str.split('').sort().join('')
Run Code Online (Sandbox Code Playgroud)