@nikita1sm

Как вернуть строку, где остались только те слова, которые встречаются в строке 2 или более раз?

Есть функция, которая принимает строку, в которой слова, разделенные пробелом.
Нужно вернуть строку, где остались только те слова, которые встречаются в строке 2 или более раз (только повторяющиеся)
Порядок должен сохранятся согласно первому найденному слову
Если повторющихся слов нет - возвращается пустая строка

Пример:

var srt = 'alpha beta beta gamma gamma gamma delta beta beta delta';

second(str); // 'beta gamma delta'

Подскажите пожалуйста, с чего начать, куда идти. Какие функции и методы нужно использовать.

Можете разбить строку на слова и поместить в массиве при помощи split ? и дальше как то найти там повторяющиеся слова..
  • Вопрос задан
  • 296 просмотров
Решения вопроса 1
longclaps
@longclaps
let one = new Set(), buf = [];
for (let w of str.split(' ')) {
    if (one.has(w)) {
        if (!buf.includes(w)) buf.push(w);
    } else one.add(w);
}
console.log(buf.join(' '));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы