@bqio
https://bqio.github.io/

Как сделать замену в тексте по массиву значений?

Есть массив:
const tags = ['$wa', '$p'];
Есть строка:
const text = '$waString$p';
Как мне выполнить удаление тэгов из строки? Думаю как-то через map.
tags.map(tag => text.replace(tag, ''));
Но дело в том, что я передаю текст в функцию и мне нужно вернуть значение:
removeTags (text) {
  return tags.map(tag => text.replace(tag, '')); // возвращает массив, а не строку
}

На выходе мне нужен String.
  • Вопрос задан
  • 62 просмотра
Решения вопроса 2
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
function removeTags (text) {
  return tags.reduce((text, tag) => text.replace(tag, ''), text);
}
Ответ написан
Комментировать
@bqio Автор вопроса
https://bqio.github.io/
Для глобального удаления:
const tags = ['$wa', '$p'];
function removeTags (text) {
  return tags.reduce((text, tag) => text.split(tag).join(''), text);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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