После дальнейших размышлений становится ясно, что их задача не соответствует их собственным правилам.В нем четко сказано:
Слово может состоять только из строчных букв
Тем не менее, оно проходит через код (с пунктуацией):
he was curious about how it would taste, so he took a small bite.
Что еще хуже, он ожидает следующий вывод, который ставит how
перед saw
, хотя how
появляется после saw
:
a eh it os eh how asw koot .beit allms dlouw abotu ,aestt ciorsuu
Таким образом, чтобы иметь возможность пройти этот вызоввам также понадобится поменять слова одинаковой длины друг с другом.
Решение NodeJS
Следующее дает правильные результаты в NodeJS, но не в браузере, на самом делеsort()
дал разные результаты в разных браузерах!
function makeAlphabetSentenceSort(str) {
var word = str.split(' ');
for (var j = 0; j < word.length; j++) {
word[j] = word[j].split('').sort().join('');
}
return word.sort((a, b) => a.length - b.length).join(' ');
}
console.log(makeAlphabetSentenceSort('he was curious about how it would taste, so he took a small bite.'));
Затем я прочитал о том, почему сортировка так ненадежна, и эта статья является отличным ресурсом, к сожалению, решение в ней дает надежные результаты, но не так, как эта задачаожидает этого.
https://medium.com/@fsufitch/is-javascript-array-sort-stable-46b90822543f
Испытание
http://ccc.fidenz.com/en/challenges/challenges/challenge--86
Еда на вынос
Это ужасно сложная задача, вы действительноследует сосредоточить свои усилия на создании лучшего веб-сайта для практики программирования, такого как HackerRank, а не в этой путанице с мешаниной.