我正在尝试使用Ramda将字符串追加到字符串的末尾,但是以下操作无效。

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

它返回

['A','B']

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

编辑:

我正在尝试执行以下操作



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





除非我在其他地方定义该函数并对其进行咖喱化或内联定义,否则在这种情况下执行"A" + "B"无效。

最佳答案

正如其他人指出的那样,使用以下任一技术,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/

10-13 08:52