Задать вопрос
@DeVit0

Как реализовать добавление объекта какого-либо класса со своими свойствами в массив?

Всем привет! У меня есть такая идея телеграмм бота, написанный на nodeJS, который спрашивает у пользователя количество капель/таблеток, потом спрашивает их название. Процесс опроса происходит благодаря между Wizard сценами. Дальше по моей задумке, бот должен спрашивать про каждый препарат такие вопросы:
-Сколько дней вы будете принимать препарат?
-Сколько раз в день вы будете принимать препарат?
-Какой интервал приема?
Процесс опроса названия препаратов я сделал. Но передо мной встала проблема как теперь занести в объекты массива те свойства, которые я привел выше.
Ниже показываю, реализацию опроса про количество и наименования.
function PillsKeeper(pillsNumber) {
    const totalPills = pillsNumber;
    this.pillsArray = [];

    this.addPills = function(pillName) {
        if (this.pillsArray.length < totalPills) {
            this.pillsArray.push(pillName);
        }

        console.log(`${this.pillsArray.length} / ${totalPills}, ${this.pillsArray[this.pillsArray.length - 1]}`);

        return this;
    }

    this.showPills = function() {
        return this.pillsArray;
    }

    return this; //pattern цепочка вызовов
}

let pillsKeeper;


const medsHandler = Telegraf.on('text',  async ctx => {
    if (!pillsKeeper) {
        pillsKeeper = new PillsKeeper(pillsNumberTotal);
    }

    pillsKeeper.addPills(ctx.message.text);
    await pillsKeeper.showPills().length === pillsNumberTotal
        ? (ctx.reply(`Всего введено препаратов: ${pillsKeeper.showPills().join(', ')}`), ctx.wizard.next())
        : ctx.reply('Отличный препарат!!')
})


И на это моменте я застрял перед вопросом, создать класс, либо написать такую же функцию. Помогите, кто может.
Камнями прошу не кидаться, только тренируюсь!
  • Вопрос задан
  • 57 просмотров
Подписаться 1 Средний 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

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

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