簡體   English   中英

在 Javascript 中級聯函數的干凈方法是什么?

[英]What's the clean way to cascade functions in Javascript?

首先,這與鏈接無關。 我知道鏈接是圍繞函數方法的,而這不是,我一直無法找到一個術語。

基本上,我正在尋找一種干凈的方法,將一個函數的輸出傳遞到另一個函數並將其鏈接起來。 看起來像這樣的東西

const updatedAssets = addCategory(addTagLine(addTags(addImages(addPoints(addID(addTitle(assets)))))));

基本上assets是一個對象,每個函數都會向其中添加新的鍵和值。

如果您只是想避免嵌套並提高可讀性,您可以創建一個函數數組並使用reduce() / reduceRight()來組合它們。 例如:

 let one = n => "one " + n let two = n => "two " + n let three = n => "three " + n let functions = [one, two, three] let res = functions.reduce((res, f) => f(res), "go") console.log(res) // or the opposite direction: let resRev = functions.reduceRight((res, f) => f(res), "go") console.log(resRev)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM