1. Вопрос: Lorem ipsum dolor sit amet:
+ Lorem ipsum dolor;
! Lorem ipsum dolor sit amet;
! Lorem ipsum dolo;
! Lorem ipsum dolor sit amet;
! Lorem ipsum dolo;
{
value: "Вопрос",
label: "Вопрос",
desc: "Ответ",
},
/**
* @param {String[]} strings Массив строк
* @returns {Object[]} Массив вопросов-ответов
*/
function parseAnswers(strings) {
var questions = [];
/**
* @param {Object} res Результат предыдущего выполнения функции
* @param {String} current Текущая строка
* @returns {Object} Объект нового или текущего вопроса
*/
strings.reduce(function(res, current) {
// Удаляем начальные пробелы
current = current.replace(/^\s+/, '');
// Если строка начинается с плюса, то это правильный ответ
if (/^\+/.test(current)) {
// Записываем в desc
res.desc = current;
// Кладём этот вопрос в массив
questions.push(res);
// Возвращаем объект для нового вопроса
return {};
}
// Если строка начинается с цифры, то это вопрос
if (/^\d/.test(current)) {
// Записываем вопрос
res.label = current;
}
// Возвращаем этот вопрос
return res;
}, {});
return questions;
}