Сортировка абзаца по алфавиту с использованием JavaScript - PullRequest
0 голосов
/ 03 ноября 2018

Так что мне нужно ввести абзац, отсортировать его по алфавиту и убрать из него все запятые, точки. так что если ввод:

var nonSortedArray = ['hi', 'yo', 'whatup', 'bye', 'lol'];
var sortedArray = nonSortedArray.sort(function (a, b) {
  if (a < b) return -1;
  else if (a > b) return 1;
  return 0;
});
console.log(sortedArray); 

Я думал, что буду использовать что-то подобное, но я не уверен, как отобразить абзац, потому что у меня также не может быть запятой после каждого слова.

Ответы [ 2 ]

0 голосов
/ 03 ноября 2018

Другой способ, используя replace() ing , и ., а затем использовать разделение на space перед sorting и joining с символом |.

let str = 'Sunset is the time of day when our sky meets the outer space solar winds. There are blue, pink, and purple swirls, spinning and twisting, like clouds of balloons caught in a blender.';
const ar = [... new Set(str.replace(/[,.]/g,'').split(' ').sort((a, b)=> a.localeCompare(b)))].join('|');
console.log(ar);
0 голосов
/ 03 ноября 2018

Вы можете сопоставлять только символы слов, фильтруйте с помощью Set, чтобы получить уникальные слова и отсортировать их.

var string = 'Sunset is the time of day when our sky meets the outer space solar winds. There are blue, pink, and purple swirls, spinning and twisting, like clouds of balloons caught in a blender.',
    words = Array
        .from(new Set(string.match(/\w+/g)))
        .sort((a, b) => a.localeCompare(b))
        .join(' | ');

document.getElementById('output').innerHTML = words;
<p id="output"></p>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...