@Lynatik001

Eslint ругается на код, как правильней писать?

Делал динамическое добавление кнопок в телеге. Вот состряпал рабочий код, только еслинт ругается

iterators/generators require regenerator-runtime, which is too heavyweight for this guide to allow them. Separately, loops should be avoided in favor of array iterations.eslintno-restricted-syntax
iterators/generators require regenerator-runtime, which is too heavyweight for this guide to allow them. Separately, loops should be avoided in favor of array iterations.eslintno-restricted-syntax


Переходил по ссылке описания проблемы, нече не понял

function frontMenu3() {
  const arrayOfLabel = [['1', '2', '3'], ['4', '5', '6']];
  const menu = Telegraf.Extra
    .markdown()
    .markup((m) => {
      const arrr = [];
      for (const arr of arrayOfLabel) {
        const list = [];
        for (subArr of arr) {
          list.push(m.callbackButton(subArr, 'your-unic-callback'));
        }
        arrr.push(list);
      }
      console.log(arrr);
      return m.inlineKeyboard(arrr);
    });
  return menu;
}


Вот аналог сделал на который якобы не ругается(разобрав ругань)
function frontMenu() {
  const arrayOfLabel = [['1', '2', '3'], ['4', '5', '6']];
  const menu = Telegraf.Extra
    .markdown()
    .markup((m) => {
      const arrr = [];
      arrayOfLabel.forEach((arr) => {
        const list = [];
        arr.forEach((subarr) => {
          list.push(m.callbackButton(subarr, 'your-unic-callback'));
        });

        arrr.push(list);
      });
      console.log(arrr);
      return m.inlineKeyboard(arrr);
    });
  return menu;
}


Как по мне, то второй вариант менее понятен. Подскажите какой вариант лучше? - так же принимаются и ваши варианты реализации. (p.s - оба примера рабочие)
  • Вопрос задан
  • 12752 просмотра
Пригласить эксперта
Ответы на вопрос 1
@cython
ESLint говорить, что не стоит использовать специфические синтаксические конструкции(например for of, with, in для проверки прототипов), так как не всем нравятся такие вещи.
Если вам больше нравится использовать синтаксис for or, то используйте и поставьте
/* eslint-disable-next-line */
for (const arr of arrayOfLabel) {

Либо укажите это в конфиге eslint
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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