带有道具的 ramda ifElse

ramda ifElse with props

我有以下对象

const d = {
  a: 1,
  b: 2,
  c: 3,
}

我想做的是这样的:

const type = R.ifElse(R.isEmpty(R.prop('a')), "company", "personal")(d)

纯 javascript 的等价物是

const type = d.a ? "personal" : "company"

我如何使用 ramda 执行此操作?

(免责声明:我完全没有使用 Ramda.js 的经验,我只是查阅并尝试了一下。可能会有更好的解决方案)

您可以使用 R.always 代替字符串,因为它需要在那里发挥作用。要检查对象是否具有 属性,您可以使用 R.has

const d = {
  a: 1,
  b: 2,
  c: 3,
}
const x = R.ifElse(R.has('a'), R.always("company"), R.always("personal"))(d)