我试图在反应中过滤数组。这是我的代码:
resultArray = myArray.filter((item) => {
return item.children.length === 0;
});
这给了我一个eslint错误:
Unexpected block statement surrounding arrow body
所以我把括号换成括号:
resultArray = myArray.filter((item) => (
return item.children.length === 0;
));
在突出显示return
时,这会给我带来意外的令牌错误。
正确的方法是什么?
答案 0 :(得分:2)
因为是单个表达式,您可以执行以下操作:
resultArray = myArray.filter((item) => item.children.length === 0);
答案 1 :(得分:1)
是的,因为@DanielSchneider已经说过:
您可以使用速记(或称为lambda)箭头功能,如下所示:
resultArray = myArray.filter(
item => item.children.length === 0 //this is the lambda function
);
因为它是单个表达式和返回值(即使返回值未定义),您可以使用短箭头功能。它将始终返回表达式的结果(甚至未定义)。