javascript - 附加到字符串 Ramda.js 的末尾

标签 javascript functional-programming ramda.js

我正在尝试使用 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/

相关文章:

javascript - 如何使用 jQuery 滚动到某个元素?

javascript - Odoo 搜索多个名称使用 OR 运算符

javascript - Dart-从字符串中提取日期(MM/DD/YYYY)

javascript - lambda : How to keep the original structure with filter function

javascript - 如何从动态镜头获得动态 View

javascript - 给定数组提取对象值的功能方法

javascript - 如何让事件不在父元素中触发

scala - 使用两个条件过滤列表并创建 map scala

functional-programming - SICP 示例不适用于 Racket

java - 在流内打开流