Задать вопрос
anton_F
@anton_F
Учусь на Fronend developer

Почему не добавляет слова в фразу?

const wordsReplace = words.replace(' ', ` ${replacement} `);
   const ithem = words + ' ' + replacement  ;
   console.log(ithem)
   if (words.length === 1) {
    return phrase.replace(words,ithem);
  };
   if (words.length > 1) {
     return phrase.replace(words,wordsReplace);
    };
}

должно "get some candies from here" получилось "get some text from here"
  • Вопрос задан
  • 92 просмотра
Подписаться 1 Простой 8 комментариев
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Нужно разбить фразу по пробелу в массив входных слов.
Так же разбить по пробелу в массив строку со словами для поиска.

Найти в первом массиве индексы поисковых слов.

Прочитать про метод массивов splice()
Этим методом удалить элементы, начиная со следующего, после 1-го слова, до 2-го слова index2 - index1 + 1 и заменить его фразой replacement.

Ответ написан
Пригласить эксперта
Ответы на вопрос 1
v3shin
@v3shin
Веб-шаман
Может, регуляркой?
function replaceSubstring(phrase, words, replacement) {
    words = words.split(' ');
    let regExp = new RegExp(`\\b${words[0]}\\b(.*?)\\b${words[1]}\\b`);
    return phrase.replace(regExp, `${words[0]} ${replacement} ${words[1]}`);
}
replaceSubstring('She is a robot', 'She robot', 'dreamed of a'); // 'She dreamed of a robot'
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы