在对象上使用地图意外使用逗号

unexpected use of comma using map on a object

我正在使用 AirBnb 风格指南,但在第一行代码末尾出现 "unexpected use of comma" 错误:

  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

我看到第一位代码的方式是地图循环只在第二个字段中运行两次。

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

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