Javascript 在对象上意外使用逗号using map

Javascript 在对象上意外使用逗号using map,javascript,eslint,airbnb,Javascript,Eslint,Airbnb,我正在使用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);

我正在使用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);

我看到的第一位代码是,map循环只运行一次字段,而第二个字段运行两次


我可以确认上面地图的两部分都在执行,而不仅仅是最后一部分。还有什么我遗漏的吗?

因为您没有转换数组,所以可以使用
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;
});

1) ESLint指定了一般规则,为什么它会特别列出
map()
?2) 如果不转换数组,为什么要使用map?那就使用forEach吧?谢谢,这是可行的,但它会给出错误“箭头函数参数周围的预期圆括号有一个带花括号的主体(箭头parens)”。需要在字段(例如)周围加括号,如果你想在回答中加括号,我会检查