Javascript 在分解结构中指定选项

Javascript 在分解结构中指定选项,javascript,ecmascript-6,eslint,Javascript,Ecmascript 6,Eslint,我试图根据ES6重写以下代码。我一直收到ESLint警告,到目前为止我已经花了大约20分钟在上面,我不太确定如何写它 .then(result => { const [categories, properties, placements] = result.map(r => r.data); this.properties = properties.map(property => { { ...property,

我试图根据ES6重写以下代码。我一直收到ESLint警告,到目前为止我已经花了大约20分钟在上面,我不太确定如何写它

  .then(result => {
    const [categories, properties, placements] = result.map(r => r.data);

    this.properties = properties.map(property => {
      {
        ...property,
        category: categories.find(c => c.id === property.category_id),
        property: placements.filter(p => p.property_id === property.id),
      }
    });
  });
上面的代码根本不解析,但根据我的尝试,它说我不能在arrow函数中使用return{}


如果我尝试只修改参数,我会得到一个错误,即
无参数重新分配

我意识到我可以运行eslint fix来查看如何操作:

        this.properties = properties.map(property => ({
          ...property,
          category: categories.find(c => c.id === property.category_id),
          property: placements.filter(p => p.property_id === property.id),
        }));


要从arrow函数返回对象,您需要将对象用括号括起来(就像这里所做的那样),以避免与函数体混淆,或者在函数体中使用
return
关键字。