2017-02-22 1 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

Большое спасибо! Я понятия не имел о методе сортировки –