Неожиданное использование запятой при использовании карты на объекте

Я использую руководство по стилю AirBnb и получаю сообщение об ошибке "неожиданное использование запятой" в конце первой строки кода:

  myApp.fields.map(field => (field.obj.label = field.label.default,
    field.label.textContent = field.obj.label));

Я могу переписать это, чтобы убрать ошибку:

  myApp.fields.map(field => field.obj.label = field.label.default);
  myApp.fields.map(field => field.label.textContent = field.obj.label);

https://eslint.org/docs/rules/no-sequences

То, как я вижу первый бит кода, что цикл карты запускается только один раз из полей, где второй выполняется дважды.

Я могу подтвердить, что обе части карты выше выполняются, а не только последняя. Что-то еще мне не хватает?

1 ответ

Решение

Поскольку вы не преобразуете массив, вы можете просто использовать forEach() вместо map(), Если вы настаиваете на том, чтобы сделать его однострочным, и не хотите нарушать правило отсутствия последовательностей:

myApp.fields.forEach(field => {field.obj.label = field.label.default; field.label.textContent = field.obj.label});

Более читабельно:

myApp.fields.forEach((field) => {
    field.obj.label = field.label.default;
    field.label.textContent = field.obj.label;
});
Другие вопросы по тегам