Javascript 围绕箭头体的意外块语句

Javascript 围绕箭头体的意外块语句,javascript,ecmascript-6,vuejs2,eslint,Javascript,Ecmascript 6,Vuejs2,Eslint,这可能很琐碎,但我花了很长时间试图弄清楚为什么下面的代码会出现围绕箭头体错误的意外block语句 computed: { filteredItems() { return this.items.filter((item) => { return (item.type.toLowerCase().indexOf(this.search.toLowerCase()) > -1); }); }, }, 如果在箭头函数中,您只需返回一些内容,则可以执行以

这可能很琐碎,但我花了很长时间试图弄清楚为什么下面的代码会出现围绕箭头体错误的意外block语句

computed: {
  filteredItems() {
    return this.items.filter((item) => {
      return (item.type.toLowerCase().indexOf(this.search.toLowerCase()) > -1);
    });
  },
},

如果在箭头函数中,您只需返回一些内容,则可以执行以下操作:

const someFunction = item => item.someReturnValue;
return this.items.filter((item) => (item.type.toLowerCase().indexOf(this.search.toLowerCase()) > -1);
因此,在您的情况下,它要求您执行以下操作:

const someFunction = item => item.someReturnValue;
return this.items.filter((item) => (item.type.toLowerCase().indexOf(this.search.toLowerCase()) > -1);
正如您在我的第一个示例中所看到的,如果只需要一个参数,您也可以丢失围绕参数的括号


如果您想查看更多示例,可以查看基于ESLint配置的

。所以,由于arrow函数是隐式返回的,所以代码不需要return语句

arrow函数后面的大括号立即表示一个新的块,它应该不止是一个句子,但在您自己的情况下不是这样

// Fix for your code

computed: {
  filteredItems() {
   return this.items.filter((item) => 
   (item.type.toLowerCase().indexOf(this.search.toLowerCase()) > -1));
  }
},
可能重复的