我想使用javascript按字母顺序创建一个字符串。
例如,如果字符串是“bobby bca”,那么它必须是“abbbbcoy”但我希望它在一个函数中 - 不要因为我不希望空格只有字母顺序。
我是javascript的新手,这是我已经拥有的:
function make Alphabet(str) {
var arr = str.split(''),
alpha = arr.sort();
return alpha.join('');
}
console.log(Alphabet("dryhczwa test hello"));
答案 0 :(得分:2)
你从像
这样的字符串开始var str ='dryhczwa test hello';
从这个
创建一个数组var arr = str.split(' ');
然后你按字母顺序排序
var array = arr.sort();
然后你又一起加入
var str2 = array.join(' ');
答案 1 :(得分:1)
此代码存在一些问题,如您帖子中的评论所述。
一旦出局,那么你的代码是正确的,并且实际上按字母顺序排列
关于要删除的空格,然后您可以在函数内部使用正则表达式来删除空格,并使其按字母顺序输出字符,如下所示:
function makeAlphabet(str) {
var arr = str.split(''),
alpha = arr.sort().join('').replace(/\s+/g, '');
return alpha;
}
console.log(makeAlphabet("dryhczwa test hello"));
除此之外,这是我能提出的问题
这是根据评论更新的,这里是小提琴:https://jsfiddle.net/ToreanJoel/s2j68s4s/
答案 2 :(得分:0)
您的函数名称不能包含空格;
function makeAlphabet(str) {
return str.split('').sort().join('');
}
另外,这不会删除空格,所以你的例子
console.log(makeAlphabet("dryhczwa test hello"));
将返回' acdeehhllorsttwyz'
。
答案 3 :(得分:0)
功能:
function makeAlphabet(str) {
var arr = str.split('');
arr.sort();
return arr.join('').trim();
}
一个示例电话:
console.log(makeAlphabet("dryhczwa test hello"));
// returns "acdeehhllorsttwyz"
说明:
makeAlphabet
的第1行将字符串转换为数组,每个字符都有一个数组元素
第2行按字母顺序对数组进行排序
第3行将数组元素转换回字符串,从而删除所有空白字符。