什么是干净的方法来级联在Javascript功能?

问题描述 投票:1回答:1

首先,这是不是链接。我明白链是围绕功能的方法,这是没有,我一直没能找到这个术语。

基本上我正在寻找的是一个函数的输出传递到另一个和IT连锁干净的方式。一些看起来像这样

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

基本上assets是一个对象,并且每个功能将增加新的键和值到它。

javascript function
1个回答
1
投票

如果你只是想避免嵌套和提高可读性,你可以让你的函数的数组,并使用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)
© www.soinside.com 2019 - 2024. All rights reserved.