例如,如果我有一个想要调用的箭头filter(),那么最好这样做:tasks.filter((task) => { if (task.completed && hideCompletedTasks) { return false; } else { return true; }})或者将函数逻辑提取出来并调用该函数一次。tasks.filter((task) => filterCompletedTasks(task));function filterCompletedTasks(task){ if (task.completed && hideCompletedTasks) { return false; } else { return true; }}
4 回答

海绵宝宝撒
TA贡献1809条经验 获得超8个赞
在布尔值上使用 if 返回 true 或 false 效率不高且可读性较差:
为什么不
const filterCompletedTasks = task.filter(task => task.completed && hideCompletedTasks);

呼唤远方
TA贡献1856条经验 获得超11个赞
您可以使用这种方法,
tasks.filter((task) => {
if (task.completed && hideCompletedTasks) {
return false;
} else {
return true;
}
}
);
相同的逻辑可以写为,
tasks.filter(task => task.completed && hideCompletedTasks);

FFIVE
TA贡献1797条经验 获得超6个赞
使用第一个逻辑即
tasks.filter((task) => {
if (task.completed && hideCompletedTasks) {
return false;
} else {
return true;
}
}
)

MYYA
TA贡献1868条经验 获得超4个赞
这取决于您的需求,如果您只想在特殊场合使用该功能,则无需删除该功能(除非它太大并且您想隔离它),但如果您要重用如果该函数在其他过滤器中起作用,那么最好为此创建一个单独的函数。
添加回答
举报
0/150
提交
取消