Javascript 将递归函数转换为递归箭头函数
我有以下带有递归函数的代码,我想将其转换为递归箭头函数:Javascript 将递归函数转换为递归箭头函数,javascript,arrow-functions,Javascript,Arrow Functions,我有以下带有递归函数的代码,我想将其转换为递归箭头函数: const hasAccess = menuSections.some(function s(x) { if (x.link === route.routeConfig.path) { return true; } if (x.sections) { return (x.sections.some(s)); } return false; }); 你知道怎么做吗?你可以使用自己的函数进行回调,并缩
const hasAccess = menuSections.some(function s(x) {
if (x.link === route.routeConfig.path) {
return true;
}
if (x.sections) {
return (x.sections.some(s));
}
return false;
});
你知道怎么做吗?你可以使用自己的函数进行回调,并缩短返回值的条件
const
check = x => x.link === route.routeConfig.path || x.sections && x.sections.some(check),
hasAccess = menuSections.some(check);
为什么?该函数不使用
此
、参数
或任何其他由箭头函数进行不同处理的函数。它确实使用自己的名称进行递归,并且箭头函数是匿名的。对于您的问题,函数表达式比箭头函数有好处,但箭头函数比函数表达式没有任何好处。@Quentin因为这是练习的要求,所以它可能应该是!!x、 节
,这样,根据OP,它返回一个布尔值,而不是未定义的值,或null,或0或….它是在某些
中使用的回调,因此任何falsy值都有效。