追加到字符串末尾 Ramda.js

Append to end of string Ramda.js

我正在尝试使用 Ramda 将字符串附加到字符串的末尾,但以下操作不起作用。

R.append("A", "B")

它returns

['A','B']

有没有人知道在 Ramda 中执行此操作的好方法或不意味着我需要编写代码来咖喱 javascript concat 函数的方法?

编辑:

我正在尝试执行以下操作

props = {
    city: "Boston",
    state: "Massachusetts",
    zip: 22191
}
var appendCommaToCity = R.evolve({city: R.append(",")}
appendCommaToCity(props)

"A" + "B" 在这种情况下不起作用,除非我在其他地方定义函数并将其柯里化,或内联定义。

console.log("A".concat("B").concat("C"))

console.log("".concat("A", "B", "C"))

console.log(String.prototype.concat("A", "B", "C"))

但是 "A" + "B"a lot faster than concat

正如其他人所指出的,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.

中看到这一切。