2017-02-22 5 views
0

ランダムな文字列を取り、アルファベット順に返す関数を作成しようとしています。私のコードを見て、どうすれば修正できるのか教えてください。私は近くにいると信じているので、私のコードの精神を維持したいと思います。本当にありがとう!Javascript:ランダムな文字列をアルファベット順に並べるのに問題があります

var orderInTheCourt = function(str){ 
    var smallestNumber = 0; 
    var newOrder = []; 
    for(var i = 0; i < str.length; i++){ 
    if(String.charCodeAt(str[i]) < smallestNumber){ 
     smallestNumber += str[i]; 
     newOrder.unshift(str[i]); 
    } else{ 
     smallestNumber += str[i]; 
     newOrder.push(str[i]); 
    } 
    return newOrder.join(''); 
    } 
} 
orderInTheCourt('zyon'); 
+0

なぜ 'sort'だけではないのですか? –

+0

そして 'String.charCodeAt()'?おそらく、あなたは 'str.charCodeAt()'を使用しているはずです –

+0

ああ、私はソートの方法を知らなかった、ありがとう! –

答えて

0

あなたは(split()を使用して)アレイにあなたの文字列を変換し、sort()を使用することができます。そして、最終的にはjoin()バック文字列にあなたの配列:

str.split("").sort().join(""); 
+0

大きな感謝、私は彼が方法をソートするのか分からなかった! –

1

は、以下のことを試してみてください。

function order (str) { 
    return str.split('').sort().join(''); 
} 

それは、文字の配列に文字列を分割並べ替えて、それをバックに参加します。

+0

大きな感謝!私はソート方法については全く知らなかった –

関連する問題