仅使用javascript制作字符串字母顺序

时间:2015-06-01 13:21:44

标签: javascript

我想使用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"));

4 个答案:

答案 0 :(得分:2)

你从像

这样的字符串开始
var str ='dryhczwa test hello';

从这个

创建一个数组
var arr = str.split(' ');

然后你按字母顺序排序

var array = arr.sort();

然后你又一起加入

var str2 = array.join(' ');

fiddle

答案 1 :(得分:1)

此代码存在一些问题,如您帖子中的评论所述。

  1. 函数名称不正确,它必须是一个单词,并且与调用它时实际使用该函数相同。
  2. 一旦出局,那么你的代码是正确的,并且实际上按字母顺序排列

    关于要删除的空格,然后您可以在函数内部使用正则表达式来删除空格,并使其按字母顺序输出字符,如下所示:

    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行将数组元素转换回字符串,从而删除所有空白字符。