Что есть
Набор данных в виде: Тема пиьма – Имя / комментарий, наборов может быть несколько, выполняется split по \n
Как работает 1. Разбиваем строки при помощи split на отдельные массивы 2. Запускаем цикл по количеству строк, в котором: 3. При помощи .split(' – ') отделяем темы письма от имен и комментариев 4. При помощи .split(' / ') отделяем имена и комментарии 5. При совпадении имени, заменяем его на нужное нам и выполняем функцию addTask(name) 6. Выводим итоговое сообщение с замененными именами в массив messageArr
Кусок нынешнего кода
var splittedMessage = result.messages.split('\n')
var messageArr = []
for (let i = 0; i<splittedMessage.length; i++) {
let singleMessage = splittedMessage[i].split(' – ')
let comment = singleMessage[1].split(' / ')
let userName = comment[0]
let description = comment.length > 1 ? comment[1] : ''
if (comment[0] == 'Артем') {
var name = '@username'
addTask(name)
} else if (comment[0] == 'Марк') {
var name = '@username'
addTask(name)
} else {
var name = 'Бот не понял, кто это такой. Кто-то не следует инструкции'
}
messageArr.push(`<b>${singleMessage[0]}</b> – ${name} ${description.length > 0 ? '/ '+ description : ''}`)
}
Что нужно Код сейчас работает и выполняет свою функцию, но нет возможности проверить сразу несколько имен, которые писались бы в виде: Тема пиьма – Имя, Имя, Имя, Имя / комментарий
Помогите, пожалуйста, в реализации подобного сценария, либо советом, в какую сторону копать. К сожалению, текущих знаний не совсем хватает на корректную реализацию.
let userNames = comment[0].split(",").map(i => i.trim());
let description = comment.length > 1 ? comment[1] : ''
if (userNames.indexOf('Артем') != -1) {
...
Продвижение своими сайтами как стратегия роста и независимости