我正在尝试使用 Ramda 将字符串附加到字符串的末尾,但以下操作不起作用。
R.append("A", "B")
它返回
['A','B']
有没有人知道在 Ramda 中执行此操作的好方法或不意味着我需要编写代码来 curry javascripts concat
函数的方法?
编辑:
我正在尝试执行以下操作
props = {
city: "Boston",
state: "Massachusetts",
zip: 22191
}
var appendCommaToCity = R.evolve({city: R.append(",")}
appendCommaToCity(props)
"A"+ "B"
在这种情况下不起作用,除非我在其他地方定义函数并将其柯里化(Currying),或内联定义。
最佳答案
正如其他人所指出的,concat
是最简单的方法,使用以下任一技术:
const appendCommaToCity = R.evolve({city: R.concat(R.__, ",")})
// or
const appendCommaToCity = R.evolve({city: R.flip(R.concat)(",")})
第一个,在这里使用占位符可能更容易。
但我猜您的结果是一个中间结构,稍后将用于将该城市与州连接起来。如果是这样的话,那么这可能有点过分了。至少在现代 JS 中,直接组合它们太简单了:
const foo = ({city, state}) => `${city}, ${state}`
您可以在 Ramda REPL 中看到这一切。 .
关于javascript - 附加到字符串 Ramda.js 的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45662447/