是创建一个只在一个地方调用的函数更好,还是使用箭头函数更好?

例如,如果我有一个想要调用的箭头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;

    }

}


心有法竹
浏览 119回答 4
4回答

海绵宝宝撒

在布尔值上使用 if 返回 true 或 false 效率不高且可读性较差:为什么不const filterCompletedTasks = task.filter(task => task.completed && hideCompletedTasks);

呼唤远方

您可以使用这种方法,tasks.filter((task) => {    if (task.completed && hideCompletedTasks) {        return false;    } else {        return true;    }});相同的逻辑可以写为,tasks.filter(task => task.completed && hideCompletedTasks);

FFIVE

使用第一个逻辑即tasks.filter((task) => {    if (task.completed && hideCompletedTasks) {        return false;    } else {        return true;    }})

MYYA

这取决于您的需求,如果您只想在特殊场合使用该功能,则无需删除该功能(除非它太大并且您想隔离它),但如果您要重用如果该函数在其他过滤器中起作用,那么最好为此创建一个单独的函数。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript